Qt(或更具体地说,是C++和Windows平台上的编译器/链接器)本身并不直接“不允许”dllimport静态数据成员的定义。然而,在实践中,将静态数据成员声明为 dllimport 可能会遇到一些问题,主要源于静态数据成员的特性和DLL的加载机制。 静态数据成员通常需要在程序的某个地方有明确的定义(通常是类的定义文件之外),而 dllimport...
在使用一个继承自QObject带有Q_OBJECT宏的导出类时,编译报错:不允许 dllimport 静态数据成员 的定义。 原因是自动生成的moc文件带有静态函数,无法导出。 1、在Qt中的解决办法是不将导出宏定义成Q_DECL_IMPORT。 #ifdefined(ZMAP_LIBRARY_PRODUCTOR) #defineZMAP_API Q_DECL_EXPORT #else #defineZMAP_API #endif ...
2)definition of dllimport static data member not allowed 在此链接之后,Windows似乎需要它自己的包含(即#include <windows...),但是在我的例子中,来自上面链接的smtp库没有任何#include <windows>,并且不知道是否需要生成它们。好像他们不是从我找到的那个岗位上 此外,我阅读这个帖子也是是因为我认为我...