Nik*_*iko 8 c++ opencv visual-studio-2010
我正在尝试按如下方式设置OpenCV 2.4:
C:\OpenCV240
.C:\OpenCV240\build\include
了一个额外的包含目录.C:\OpenCV240\build\x86\vc10\staticlib
了另外的库目录.当我编译我的"Hello World"程序(在使用DLL时编译得很好)时,我收到很多错误消息,如下所示:
1> msvcprtd.lib(MSVCP100D.dll):错误LNK2005:opencv_core240d.lib中已经定义了"public:__thiscall std :: _ Container_base12 ::〜_Container_base12(void)"(?? 1_Container_base12 @std @@ QAE @ XZ) .OBJ)
我究竟做错了什么?
Fra*_*ser 10
听起来您需要在程序中指定与静态C运行时库的链接.
如果OpenCV链接到静态CRT并且您使用动态CRT,则会出现这些类型的重定义错误.
要更改此设置,请打开项目的属性,然后转到Configuration Properties -> C/C++ -> Code Generation
.
改变Runtime Library
从Multi-threaded Debug DLL (/MDd)
到Multi-threaded Debug (/MTd)
.对于其他配置执行相同操作,并在适当的位置使用非调试变体.