編譯項目時出現這個非常奇怪的問題。 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