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

时间:2013-12-01 15:14:53

标签: c++ opencv visual-studio-2013

每当我尝试在Visual Studio 2013中编译我的项目时,将其他库目录设置为$(OPENCV_DIR)\ staticlib,我会收到以下错误,在不同的OpenCV文件中重复41次:

error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800' in main.obj

我该如何解决这个问题?我假设它与编译器版本有关,但我不知道如何修复它。

我的OPENCV_DIR设置为C:\opencv\build\x86\vc11

1 个答案:

答案 0 :(得分:3)

标准库实现在不同版本的Visual Studio中不兼容,看起来你有一个用VS2012编译的OpenCV版本,你试图与VS2013链接。

在VS2012中,Visual C ++的“重大变化”中的

MSDN describes the situation虽然VS2013还没有特别提及。从该页面引用:

msdn

要解决此问题,您需要先使用VS2013重建OpenCV静态库,然后尝试使用VS2013应用程序进行链接。