2013-10-19 88 views
2

我有opencv 2.4.6安装到我的机器,并希望使用它也安装了visual studio 2013。使用opencv与视觉工作室2013

做常规配置后,我面临着

1>opencv_core246d.lib(alloc.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800' in main.obj 

和许多其他类似此错误。

我发现这question这是类似于我的问题。接受的答案告诉我改变opencv,但我无法找到visual studio 2013的opencv。第二个答案根本没有帮助。

有没有其他方法可以解决这个问题,还是应该将我的visual studio更改为2012

在此先感谢。

回答

1

在visual studio 2013中,应该可以使用VS2012(VC11)的编译器&链接器。
Configuration Properties>General>Platform Tool Set,你在下拉列表中有v110吗?如果是的话,选择它,你的可执行文件将被编译并使用VS2012的工具链接。

+0

没有一个解决方法,它没有'v110',它有'v120(用于VS2013),v100(用于VS2010),v90(用于VS2008)'。 – smttsp

+0

在这种情况下,如果您可以使用VC100编译opencv,那么您也可以在您的方面使用VC100 – lolando

+0

或者,如果安装Visual Studio 2012快速版,您应该能够在Visual Studio 2013中选择“v110”(我不是100%肯定) – lolando

2

我遇到了同样的错误。你在64位机器上吗?我按照关于安装64位程序的opencv的说明解决了这个问题。

看看这个教程: http://www.anlak.com/using-opencv-2-4-x-with-visual-studio-2010-tutorial/

但是,如果你运行在发布模式中的程序它只能!

+0

我已经解决了这个问题,删除了与机器中的visual studio相关的所有内容,然后我重新安装了VS2010。我有另一台机器,其中有一个VS2010工作。我改变了在属性> C/C++> CommandLine'和'Properties> Linker> CommandLine'下命令行的区别。然后它工作。由于检查了很多说明,我深深地损坏了配置。谢谢你的方式。 – smttsp