プロジェクトのコンパイル中に、この非常に奇妙な問題が発生しました。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ファイルに表示されます。
QT統合でVisualStudioを使用しています。