我正在转换一个使用.dll的应用程序,而且我发现链接器错误说明了
unersolved外部 符号“__ declspec(dllimport)public: void __thiscall Rail :: SetNextrail(类铁路*)“
此错误消息末尾有更多的乱码。为什么会发生这种情况,你如何解决它? __declspec(dllimport)正在放置一个定义为:
的宏#ifdef LUDOAI_EXPORT
#define DECLSPECAI __declspec(dllexport)
#else
#define DECLSPECAI __declspec(dllimport)
#endif
答案 0 :(得分:2)
我相信你需要做的是为链接器指定Rails“import library”。使用GUI,这是在“附加库”下的项目设置的链接器选项卡上。
“导入库”是一个.LIB文件,其中包含解析为相应库导入的符号。在.LIB文件中的符号是无条件跳转到导入表的相应导入地址。当您的代码调用导入时,它实际上会在导入库中调用此存根,该库会跳转到导入。
答案 1 :(得分:0)
我想补充一点,如果您使用的是 Qt Creator ,则此错误意味着您需要将相应的导入库添加到项目(.pro)文件中。
例如:
LIBS += $$quote(C:/Qt/4.7.3/lib/QtXml4.lib)
用于调试和发布版本。