【发布时间】:2012-06-05 03:00:01
【问题描述】:
我正在尝试为新系统重新编译一些代码。它涉及一个预编译的静态库,我没有它的源代码(只有标头),并且该库是使用 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: “公共:__thiscall std::bad_cast::bad_cast(char const *)” (??0bad_cast@std@@QAE@PBD@Z) 已经在 NOREC.lib(track.obj) 中定义 1>LIBCMT.lib(stdexcpt.obj):错误 LNK2005:“公共:__thiscall std::bad_cast::bad_cast(类 std::bad_cast const &)" (??0bad_cast@std@@QAE@ABV01@@Z) 已经定义在 NOREC.lib(track.obj) 1>LIBCMT.lib(stdexcpt.obj):错误 LNK2005: “公共:虚拟 __thiscall std::bad_cast::~bad_cast(void)” (??1bad_cast@std@@UAE@XZ) 已经在 NOREC.lib(track.obj) 中定义 1>LINK : 致命错误 LNK1104: 无法打开文件 'libcp.lib'
非常欢迎任何关于如何克服这个问题的想法。
【问题讨论】:
标签: visual-c++ linker microsoft-runtime-library