求教,使用VS2010导入QT源代码,然后编译QTCore4,报了一个错误。
在moc_qbuffer.cpp里
void QBuffer::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
Q_ASSERT(staticMetaObject.cast(_o));
QBuffer *_t = static_cast<QBuffer *>(_o);
switch (_id) {
case 0: _t->d_func()->_q_emitSignals(); break; // 这一句报错
default: ;
}
}
Q_UNUSED(_a);
}
报错如下:
2>tmp\moc\Debug_shared\moc_qbuffer.cpp(50): error C2027: 使用了未定义类型“QBufferPrivate”
2> c:\qt\4.8.2\src\corelib\tmp\moc\debug_shared\../../../io/qbuffer.h(55) : 参见“QBufferPrivate”的声明
2>tmp\moc\Debug_shared\moc_qbuffer.cpp(50): error C2227: “->_q_emitSignals”的左边必须指向类/结构/联合/泛型类型
Win7 + VS2010 + QT4.8.2 + AddIn 1.1.11[attachment=undefined]
请问是怎么了呢?