将dlib与libjpeg一起使用时链接错误

时间:2014-09-22 15:57:06

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

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

启用DLIB_JPEG_SUPPORT
#define DLIB_JPEG_SUPPORT

然后它将为LNK2019库使用的libjpeg库的所有函数抛出链接错误dlib。我尝试了#pragma comment(lib, libjpeg),我也尝试将库包含在项目属性中,但仍然是相同的。

在这个错误上花了一天之后,我切换到linux并尝试使用它。但是我也遇到了相同的链接错误。

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

有什么建议吗?

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

1 个答案:

答案 0 :(得分:0)

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

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