从dll中导出包含 Q_OBJECT宏的 QObject 派生类
从dll 导出qt Qbject 子类时如果类中包含Q_OBJECT 宏,编译导入该动态库的工程时会报:error C2491: “LmcThreadPaddle::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义,类似这样错误。
通常取掉Q_OBJECT宏定义在编译动态库及导入动态库的工程就行了。
但是就是需要使用QT 的某些特性必须用Q_OBJECT宏,(比如我需要使用QMetaEnum ),这是我们可以
1,在动态库的类中添加 Q_OBJECT 宏,编译动态库。
2,删除类声明中的Q_OBJECT 宏 编译引用导入库的工程。
测试OK