VC++ 6을 사용하여 응용 프로그램을 개발 중입니다.초보자 : 라이브러리에서 사용하는 CRT 라이브러리를 결정하십시오.
타사 DLL이 있습니다. 이 라이브러리는 다중 스레드 DLL (/ MD) 및 내 응용 프로그램으로도 컴파일됩니다. 는하지만 링크 실패 : here에서
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.
나는 3 라이브러리와 내 코드를 모두 컴파일하더라도/MD는, 아마도 사용하는 신규/이전 iostream 베 이닝과 충돌이 있다고 참조하십시오.
제 3 자 라이브러리에서 iostream 라이브러리 old/new를 사용하는 방법을 결정할 수 있습니까?
UPD : 제 3 자 lib는 이전에 생각한 것처럼 정적이며 동적이지 않습니다. lib가/MD로 컴파일됩니다. 종속성 워커는 Libs가 아닌 wirh DLL을 사용합니다.