C++ 新手:确定库使用的CRT库

C++ 新手:确定库使用的CRT库,c++,dll,visual-c++,visual-c++-6,C++,Dll,Visual C++,Visual C++ 6,我正在用VC++6开发应用程序 我有一个第三方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::

我正在用VC++6开发应用程序

我有一个第三方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
g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 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 &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@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.
链接:警告LNK4075:忽略/EDITANDCONTINUE,因为/INCREMENTAL:无规范
msvcprtd.lib(MSVCP60D.dll):错误LNK2005:“public:\u thiscall std::basic\u string::~basic\u string(void)”(???1?$basic\u strin
g@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@QAE@XZ)已在XXXApi.lib(CODbg.obj)中定义
msvcprtd.lib(MSVCP60D.dll):错误LNK2005:“public:u thiscall std::basic_string::basic_string(类std::basic_string const&)”(?0?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@QAE@ABV01@@Z) 已在XXXApi.lib(Dictionary.obj)中定义
../../Exes/win2k3_oracle11/XXX.exe:致命错误LNK1169:找到一个或多个多重定义符号
执行link.exe时出错。
从我看来,即使第三个库和我的代码都编译为/MD,也可能与使用的旧/新iostream冲突

有没有办法确定第三方库使用了哪些iostream旧库/新库

UPD: 第三方库是静态的,不像我以前想的那样是动态的。
lib是/MD编译的。Dependency Walker使用的是DLL,而不是哪个lib

如果你不知道这个工具,就有依赖性步行器。

将DLL或exe拖放到主窗口上。它将显示所有依赖项

如果你想链接到第三方DLL,你所需要的只是一个为该DLL制作的.lib。 如果您没有.lib,您可以使用pelles c工具中的lib.exe或polib.exe创建一个。 polib更易于使用,因为您不需要编写.def文件。

我希望这对你的问题有帮助

编辑:您有正在使用的.lib的源代码吗