1

我正在将应用程序转换为使用 .dll 并且我充满了链接器错误说明

未解析的外部符号“__declspec(dllimport) public: void __thiscall Rail::SetNextrail(class Rail *)”

此错误消息的末尾有更多乱码。为什么会发生这种情况以及如何解决?__declspec(dllimport) 与定义为的宏一起放置:

#ifdef LUDOAI_EXPORT
#define DECLSPECAI __declspec(dllexport)
#else
#define DECLSPECAI __declspec(dllimport)
#endif
4

2 回答 2

2

我相信您需要做的是为链接器指定 Rails“导入库”。使用 GUI,它位于项目设置的链接器选项卡上,位于“其他库”下。

“导入库”是一个 .LIB 文件,其中包含解析为相应库的导入的符号。在来自 .LIB 文件的符号中,是无条件跳转到导入表对应的导入地址。当您的代码调用导入时,它实际上会调用导入库中的这个存根,它会跳转到导入。

于 2009-10-14T19:04:14.477 回答
0

我想补充一下,如果您使用的是Qt Creator,则此错误意味着您需要将适当的导入库添加到您的项目(.pro)文件中。

例如:
LIBS += $$quote(C:/Qt/4.7.3/lib/QtXml4.lib)用于调试和发布版本。

于 2011-09-21T16:34:11.717 回答