프로젝트를 컴파일하는 동안이 매우 이상한 문제가 있습니다. MOC는 클래스 이름에 moc'ed라는 네임 스페이스를 추가하는 것처럼 보입니다. 비록 파일/클래스의 어느 곳에도 언급되지 않았지만.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 코드에서 누락 된 '' '입니다. 코드는 MIPS 아키텍처에서만 # ifdef'ed 였기 때문에 컴파일러는 불평하지 않았습니다. 누락 된 ",하지만 어떻게 든 MOC는 혼란 스러웠다. – Florin