.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