我对 Windows 动态库有疑问。我使用 Qt/C++ 在 Linux 中编写了一个共享的小部件库。一切正常,我可以将每个应用程序链接到我的库。但是在 Windows 中同样的代码可以编译,但是任何应用程序都不能使用它。我收到了很多类型的链接器错误,undefined reference to ...
这些错误都在库中实现。
我发现在 Windows 中,默认情况下,代码的符号表不会导出为二进制。我必须指定我希望在最终 dll 中可见的函数。但我无法设法找到这样做的方法。
按照此说明,我添加Q_DECL_EXPORT
到所有类声明中。但这对我不起作用。