在VC7.1里STLPort与VC自带的STL冲突,如何解之,指点迷津.错误提示内详.

pingfong 2004-10-17 12:29:26
我在选项菜单下,包含项中把E:\STLport-4.6.2\stlport放在第一行上.
库文件项中把E:\STLport-4.6.2\lib也放在第一项上.


编译出错.

错误提示:

vetSize error LNK2005: "public: __thiscall bad_cast::bad_cast(class bad_cast const &)" (??0bad_cast@@QAE@ABV0@@Z) 已经在 stlport_vc71_static.lib(locale_impl.obj) 中定义
vetSize error LNK2005: "public: virtual __thiscall bad_cast::~bad_cast(void)" (??1bad_cast@@UAE@XZ) 已经在 stlport_vc71_static.lib(locale_impl.obj) 中定义
vetSize fatal error LNK1169: 找到一个或多个多重定义的符号
vetSize warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/INCREMENTAL:NO”规范)
vetSize warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;使用 /NODEFAULTLIB:library

如何解!
...全文
375 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
类库 2005-01-24
  • 打赏
  • 举报
回复
就是用多线程库!!
wingfiring 2004-10-23
  • 打赏
  • 举报
回复
在项目属性的语言选项中,有个/MLd或者/ML换成/MDd或者/MD就可以了。
Leaveye 2004-10-23
  • 打赏
  • 举报
回复
这里是我装过stlport后记录的要进行的操作,给你参考一下,我的stlport路径在d:\projects\stl4vc

在ALT+F7设置工程里:
⒈“C/C++”页,“Category”中选“Code Generation”,“Use run-time library”中选“Debug Multithreaded”;“Category”中选“Preprocessor”,“Additional include directories:”中填入“d:\projects\stl4vc\stlport”。
⒉“Link”页,“Category”中选“Input”,“Ignore libraries:”中填入“libcmt.lib”、“Additional library path:”中填入“d:\projects\stl4vc\lib”。

这里是以编译DEBUG为例,注意编译DEBUG和RELEASE版本时,都要确保设置了相应的选项。
Iforgot 2004-10-23
  • 打赏
  • 举报
回复
设置忽略lib:LIBCMT.lib
nlstone 2004-10-23
  • 打赏
  • 举报
回复
在工程设置里选择链接多线程的debug库即可
hxblvc 2004-10-21
  • 打赏
  • 举报
回复
学习...
DentistryDoctor 2004-10-21
  • 打赏
  • 举报
回复
对了,头文件目录在前,lib目录也应该在前,并需要Rebulid.
daylove 2004-10-21
  • 打赏
  • 举报
回复
进来看看,没有碰到,
lu_zi 2004-10-20
  • 打赏
  • 举报
回复
不会这个问题的其它问题,可以试试选多程,再用dll不要用static的
北极猩猩 2004-10-20
  • 打赏
  • 举报
回复
在连接参数里设定 /NODEFAULTLIB:LIBCMT.lib
njSeeWhy 2004-10-18
  • 打赏
  • 举报
回复
在编译|代码生成里选多线程库
sharkhuang 2004-10-18
  • 打赏
  • 举报
回复
不是有名字空间吗?还冲突?
pingfong 2004-10-17
  • 打赏
  • 举报
回复
噢,没有人来吗?

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧