2
我正在开发应用程序使用VC++ 6.新手:确定库使用的CRT库
我有一个第三方DLL。这个库编译为多线程DLL(/ MD)和我的应用程序。 但我无法链接:
LINK : warning LNK4075: ignoring /EDITANDCONTINUE due to /INCREMENTAL:NO specification
msvcprtd.lib(MSVCP60D.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> >(void)" (??1?$basic_strin
[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) already defined in XXXApi.lib(CODbg.obj)
msvcprtd.lib(MSVCP60D.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> >(class std::basic_string<c
har,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) already defined in XXXApi.lib(Dictionary.obj)
../../Exes/win2k3_oracle11/XXX.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
从here我看到,即使两个3库和我的代码编译成/ MD,有可能与使用的新/旧的iostream北宁市冲突。
有没有办法确定什么iostream库旧/新由第三方库使用?
UPD: 第三方库是静态的,不像我之前想的那样是动态的。 lib被编译/ MD。依赖Walker工作wirh DLL而不是哪个Libs。