gpt4 book ai didi

c++ - Debug模式下的 dlib 静态库错误

转载 作者:行者123 更新时间:2023-11-30 05:14:13 30 4
gpt4 key购买 nike

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

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

接下来,我进入了我的项目(一个控制台项目),然后指向 header 和库(发布和调试)。请注意,该项目仅包含一个 Main.cpp,它调用与我自己的其他项目库不同的函数,并且该 main 还调用 dlib 中的面部标志检测。

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

error LNK2001: unresolved external symbol _USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives_

有没有做错什么?当我在调试中查看 cmake .sln 中的预处理器时,我有 _DEBUG 并且也在我自己的项目中。

最佳答案

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

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 静态库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43529229/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com