c++ - 使用静态链接到 OpenCV (C++) 在 VS2013 中编译项目

标签 c++ opencv visual-studio-2013

每当我尝试在 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 特别提及。从该页面引用:

msdn

要克服这个问题,您需要先使用 VS2013 重建 OpenCV 静态库,然后尝试与您的 VS2013 应用程序链接。

关于c++ - 使用静态链接到 OpenCV (C++) 在 VS2013 中编译项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313657/

相关文章:

c++ - 是否有能力倒回 VideoCapture 中的多个帧

python - 如何在 Python 中读取数据矩阵代码?

python - 在 Python 中将 openCV 图像转换为 PIL 图像(用于 Zbar 库)

vb.net - 用于 Visual Studio 2013 的 Crystal 报表 8

c++ - 编译具有不同 header 名称的 C++ 文件

c++ - EXC_BREAKPOINT 崩溃的原因

c++ - equal_range 和 range for

c++ - C++ 中静态类变量的静态或非静态 getter/setter

c++ - 使用匿名对象时,默认构造函数和复制构造函数都不会被调用

visual-studio - Visual Studio 无法运行单元测试(调用 executor 'executor://nunit3testexecutor/' 时发生异常)