definition of static data member '*::staticMetaObjectExtraData' of dllimport
用Qt编写了一个dll;写了几个类,这些类都继承自QObject并使用了Q_OBJECT宏,大概跟下面的类一样:
class Q_DECL_EXPORT A:public QObject
{
Q_OBJECT
public:
A();
}
编译后生成libx.a跟x.dll
然后在另一个项目里使用这个x.dll(隐式调用)
编写了一个新类继承自A
class B:public A
{
Q_OBJECT
public:
B();
}
编译出现了这样的错误 error: definition of static data member 'A::staticMetaObjectExtraData' of dllimport'd class
蛋痛的是,使用mingw 4.7.4不存在这样的错误,报的是“multiple definition of ‘**metacall(*)’”,不过据称这是编译器错误,不是程序错误,换成mingw4.8.1就出现了上面definition of static data member 'A::staticMetaObjectExtraData' of dllimport'd class的错误。。。。。这究竟是怎么搞的啊??????
都被弄晕了。。。。