我目前正在为项目尝试dlib 19.1

我使用cmake构建所有示例,还使用VS 2013构建dlib以获取静态库。所以我有在其中创建dlib的Install文件夹。我使用与cmake创建的相同的.sln在Release和Debug中进行编译。所以到现在为止,没有问题。

紧接着,我进入了我的项目(一个控制台项目),并指向了 header 和库(发行和调试)。请注意,此项目仅包含Main.cpp,该Main.cpp调用与我自己的其他项目库不同的函数,并且main还调用dlib中的人脸界标检测。

因此,使用我创建的dlib.lib在Release中编译我的项目没有问题。但是,当使用 debug dlib.lib 并尝试以 Debug模式启动我自己的项目时,出现以下错误:



有做错什么吗?当我在调试时在cmake .sln中寻找预处理器时,我有_DEBUG,也有我自己的项目。

最佳答案

可能的解决方案不是从.sln文件构建dlib,而是直接通过cmake构建:

mkdir build
cd build
cmake .. -G"Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=c:\prj\dlib_build_release
cmake --build . --target install --config Release
cmake .. -G"Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=c:\prj\dlib_build_debug
cmake --build . --target install --config Debug

这会将dlib二进制文件和 header 编译并安装到c:\ prj \ dlib_build_release和c:\ prj \ dlib_build_debug目录中
之后,您可以从此目录使用dlib编译的库

关于c++ - Debug模式下的dlib static lib错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43529229/

10-12 20:43