我正在尝试使用Qt Creator中的应用程序中的第三方驱动程序。此应用程序必须作为静态库包含在内。没有/MT
标志,它将无法编译。经过多次心痛,我把它归结为两个链接器错误:
msvcrtd.lib(ti_inst.obj):-1: error: LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
msvcrtd.lib(ti_inst.obj):-1: error: LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
我认为这个问题是here所描述的。如果是这种情况,那么我想我需要知道如何强制Qt Creator以特定的顺序链接这些系统库,当我甚至没有在.pro文件中明确地包含它们时。如果有人能告诉我该怎么做,那就太好了。但是,如果这不是MS页面上描述的相同问题,那么我对真正做错的解释会更好。
答案 0 :(得分:0)
为了得到这个标记为回答,我引用kanders84152:"没关系。我正在链接错误的msvc库。假设使用msvcmrt.lib
而非msvcurt.lib
或msvcprt.lib
。它似乎现在工作。谢谢,所有。"