msvcprt.lib 冲突的问题

来源:互联网 发布:淘宝林俊杰国际歌友会 编辑:程序博客网 时间:2024/05/18 01:29

.exe调用lib编译出错:

3>HM2p5DataStructure.lib(DataStructureIn.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
3>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
3>msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in DieSizeDlg.obj

发现.exe用的是static MFC,而lib用的是share MFC dll, lib有两个一个是HM2p5DataStructure,静态库,另一个是HM2p5TaskProgressGUI,动态库。 

1. 如果把.exe改为share MFC dll,通过。

2. 把HM2p5DataStructure.lib 改为Use Standard Windows Libraries,还是有这个错误;进一步把RunTime Library从MD改为MT,通过。

 

结论就是msvcpt.lib看来会被MD的Runtime Library调用。

http://msdn.microsoft.com/en-us/library/abx4dbyh(VS.80).aspx