每当我尝试在 Visual Studio 2013 中编译我的项目时,将附加库目录设置为 $(OPENCV_DIR)\staticlib,我都会收到以下错误,在不同的 OpenCV 文件中重复 41 次:
错误 LNK2038:检测到“_MSC_VER”不匹配:值“1700”与 main.obj 中的值“1800”不匹配
我该如何解决这个问题?我假设它与编译器版本有关,但我不知道如何修复它。
我的 OPENCV_DIR 设置为 C:\opencv\build\x86\vc11
。
最佳答案
标准库实现在不同版本的 Visual Studio 之间不兼容,看起来你有一个用 VS2012 编译的 OpenCV 版本,你正试图与 VS2013 链接。
MSDN describes the situation在 VS2012 中针对 Visual C++ 的“重大更改”中,尽管尚未针对 VS2013 特别提及。从该页面引用:
要克服这个问题,您需要先使用 VS2013 重建 OpenCV 静态库,然后尝试与您的 VS2013 应用程序链接。
关于c++ - 使用静态链接到 OpenCV (C++) 在 VS2013 中编译项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313657/