我正在尝试为新系统重新编译一些代码。它涉及一个预编译的静态库,我没有它的源代码(只有标头),并且该库是使用 VC++ 6.0 或更早版本以及较旧的运行时库构建的。在具有 VC++ 6.0 的旧系统上,我的程序构建并运行良好,但我最近升级了一些东西,我不再可以访问 VC++ 6.0,只能访问 Express 2008 (9.0 w/SP)。
当我构建解决方案时,它会编译但有以下链接器错误:
1>libcpmtd.lib(xlock.obj) : 错误 LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) 已经在 NOREC.lib(track .obj) 1>LIBCMT.lib(stdexcpt.obj) : 错误 LNK2005: "public: __thiscall std::bad_cast::bad_cast(char const *)" (??0bad_cast@std@@QAE@PBD@Z) 已经定义在 NOREC.lib(track.obj) 1>LIBCMT.lib(stdexcpt.obj) 中:错误 LNK2005: "public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)" (??0bad_cast@std @@QAE@ABV01@@Z) 已在 NOREC.lib(track.obj) 1>LIBCMT.lib(stdexcpt.obj) 中定义:错误 LNK2005:“public: virtual __thiscall std::bad_cast::~bad_cast(void) " (??1bad_cast@std@@UAE@XZ) 已在 NOREC.lib(track.obj) 1>LINK 中定义:致命错误 LNK1104:无法打开文件 'libcp.lib'
任何如何克服这个问题的想法都将受到欢迎。