vs2010+opencv库运行过程中的问题:
链接警告:
1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
解决方法:1.查看项目属性--C/C++--代码生成--运行时库是哪种状态(/MT,/MDd,DLL(/MDd),DLL(/MD))
2.在属性--链接器--命令行--添加
如果是单线程 (libc.lib)
libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib
如果是多线程 (libcmt.lib)
libc.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib
如果是使用 DLL 的多线程 (msvcrt.lib)
libc.lib、libcmt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib
如果是调试单线程 (libcd.lib)
libc.lib、libcmt.lib、msvcrt.lib、libcmtd.lib、msvcrtd.lib
如果是调试多线程 (libcmtd.lib)
libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、msvcrtd.lib
如果是多线程调试DLL(/MDd),则添加:/NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib
3.添加后运行程序,出现无法解析的命令,
则在属性--链接器--输入-附加选项添加:comctl32.lib
4.添加成功后,运行程序 ,出现一个或多个重定义的符号,
在属性--链接器--命令行添加 /force:multiple ,即可运行成功。