VS---不允许 dllimport 静态数据成员的定义

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) 删除说明符。

微软官方说明:

https://docs.microsoft.com/zh-cn/cpp/error-messages/compiler-errors-1/compiler-error-c2491?view=msvc-160

3、如果需要导出,可以使用QT的插件导出;

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值