현재 Qt (4.7)로 작은 응용 프로그램을 작성하고 있습니다. 기호가 정의되어moc 파일에서 계단식 네임 스페이스를 사용하려면 어떻게해야합니까?
APP_START
class CoreClass {...}
APP_END
: 나는 litte 조금 게으른니까 그리고 나는 오프닝을 누르고 바로 가기에 대한 기호를 사용하고 네임 스페이스 선언을 폐쇄하고,
namespace app {
namespace core {
class CoreClass {...}
}
}
같이 중첩 된 네임 스페이스를 사용 전역 헤더 파일.
지금까지 그렇게 좋았습니다. 컴파일시 완벽하게 작동합니다. 그러나 moc 생성기가 moc 파일을 만들 때 네임 스페이스 선언을 놓치고 표준 네임 스페이스에 메서드가 생성됩니다. 기호를 사용하지 않으면 모든 것이 잘 작동합니다.
QT_BEGIN_MOC_NAMESPACE
심볼을 재정의하면 컴파일러에서 모든 포함에 대해 재정의 경고를 발생시킵니다. 이것은 실제로 작동하지만, 나는 그것이 정말로 좋지 않다고 생각합니다.
이 문제에 대한 더 나은 해결책이 있습니까?
Qt Creator를 사용하고 있기 때문에 그럴 것 같지 않습니다. 왜 moc dosn't가 subsection을하는 지 알아내는 당신의 접근은 나에게 좋게 들린다. 나는 그걸 추적하고있다. –
Qt 툴에서 moc 생성기로 조금 연주했습니다. 그리고 전처리 지시어를 파싱하도록 지시 할 방법이없는 것 같습니다. 슬퍼. –
BTW'Q_MOC_RUN' 심볼이 작동하지 않습니다. –