1、QT的Q_OBJECT包含静态数据定义:
#define Q_OBJECT \
public: \
QT_WARNING_PUSH \
Q_OBJECT_NO_OVERRIDE_WARNING \
static const QMetaObject staticMetaObject; \
virtual const QMetaObject *metaObject() const; \
virtual void *qt_metacast(const char *); \
virtual int qt_metacall(QMetaObject::Call, int, void **); \
QT_TR_FUNCTIONS \
2、VS不支持dllimport 导出静态定义的数据:
"identifier":不允许使用 dllimport 函数的定义
可以将数据、静态数据成员和函数声明为 dllimport
,但不能定义为 dllimport
。
若要解决此问题,请从函数定义中 __declspec(dllimport)
删除说明符。
微软官方说明:
3、如果需要导出,可以使用QT的插件导出;