编译项目时出现这个非常奇怪的问题。 MOC似乎正在为正在被moc化的类名称添加一个名称空间,尽管它在文件/类中的任何地方都没有提及。MOC将名称空间添加到类名称
但是,名称空间存在于我使用的库中,但它隐藏在头文件中很远的位置,我不在UI文件中使用它。这是MOC生成:
const QMetaObject SmpTl::CaptureController::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_SmpTl__CaptureController,
qt_meta_data_SmpTl__CaptureController, 0 }};
的SmpTl命名空间不CaptureController声明提及任何地方,但它出现在MOC生成的.cpp文件。
我正在使用Visual Studio与QT集成。
我发现这个问题,它在include列表中很远的某个头文件的asm代码中缺少'''代码#ifdef'ed只用于MIPS架构,所以编译器没有抱怨失踪“,但不知何故,MOC感到困惑。 – Florin 2010-04-22 09:47:02