读书人

关于live555不同库的有关问题

发布时间: 2013-10-30 12:56:22 作者: rapoo

关于live555不同库的问题
公司有个视频服务器项目,原先都是在Debug下,现在改成Release,调试会出错:
1>groupsock.lib(Groupsock.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”(StkErrReport.obj 中)
1>groupsock.lib(NetInterface.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”(StkErrReport.obj 中)
1>LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>F:\rtmp\MyPrj\StkNetVideoServer\Release\StkNetVideoServer.exe : fatal error LNK1319: 检测到 2 个不匹配项

项目里面用到了rtmp服务(这个是请别人做的)和视频代理服务,应该还是Debug和Release库的问题,但是用到的同一个live555库,该怎么改。
[解决办法]

方法一:

既然冲突,那就禁用掉。在工程属性里面的库依赖。

1>LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

我判断你应该是使用了不同版本的库导致的。

方法二:

可以尝试修改一下

//debug Multi-threaded (/MT)

//release Multi-threaded Debug (/MTd)

//以上为静态库版本

生成两种版本的均可。但是连接使用的时候注意对应版本。

//debug Multi-threaded DLL Debug (/MDD)

//release Multi-threaded DLL (MD)

//以上为动态库版本

读书人网 >C++

热点推荐