【问题标题】:Linking error while using dlib with libjpeg将 dlib 与 libjpeg 一起使用时出现链接错误
【发布时间】:2014-11-16 16:03:55
【问题描述】:

我正在学习机器学习和模式识别,并为此使用 dlib 库。我正在尝试图书馆提供的一个示例code face_detection_ex.cpp。我在 Visual Studio 2010 下创建了一个单独的项目,并包含了 face_detection_ex.cpp 示例和 dlib\all\source.cpp 文件。它构建良好。但是,如果我通过

启用DLIB_JPEG_SUPPORT
#define DLIB_JPEG_SUPPORT

那么它将为dlib库使用的libjpeg库的所有函数抛出链接错误LNK2019。我尝试了#pragma comment(lib, libjpeg),还尝试将库包含在项目属性中,但还是一样。

在这个错误上花了 1 天后,我切换到 linux 并尝试在其中工作。但是我也遇到了同样的链接错误。

然后在dlib 发布说明中我读到libjpeg 库包含在dlib 的外部文件夹中,并使用dlib 的cmake 文件作为示例代码,cmake 将执行静态链接。我试过了,cmake 它正在链接。我试图找出链接是如何发生的,因为我希望它也可以与 Visual Studio 和其他编译器一起使用,但我不知道为什么 libjpeg 库无法链接。

有什么建议吗?

编辑:Here 提到了如何将dlib 与 Visual Studio 一起使用。以及如何在 linux 上编译示例。因此,由于我必须与 libjpeg 库链接,我在命令中添加了 -ljpeg

【问题讨论】:

    标签: c++ visual-studio-2010 machine-learning libjpeg linker-errors


    【解决方案1】:

    您可以使用 CMake 生成正确配置的 Visual Studio 项目,如果您想使用 Visual Studio,这是最简单的方法。

    但是,如果您真的想手动配置 Visual Studio 项目,那么您只需将 dlib/external/libjpeg 文件夹中的文件添加到您的 Visual Studio 项目中,同时添加 dlib/external/libjpeg 文件夹到包含搜索路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-25
      • 2018-06-16
      • 1970-01-01
      • 2019-01-28
      相关资源
      最近更新 更多