2011-01-17 4 views
2

오류 1을 컴파일 나는 윈도우라는 클래스가이는 Qt는 난 내 프로그램을 컴파일 할 때

error: [tmp/moc/debug_shared/moc_window.cpp] Error 1 

를 얻을. 내가 컴파일 Q_OBJECT 라인에 주석을 달았지만 어떤 슬롯도 사용할 수 없다.

class Window : public QWidget { 
    // Q_OBJECT 
public: 
    Window(); 
public slots: 
    void update(); 
}; 

QT 4.7이 설치되어 있습니다.

Q_OBJECT 행의 주석을 제거 할 때 컴파일되지 않는 이유는 무엇입니까? 도움 주셔서 감사합니다.

+0

오, 그 클래스를 쓰는 것을 잊어 버렸습니다. Window는 QWidget의 서브 클래스입니다. – Mustafa

+1

마지막 줄뿐만 아니라 전체 오류 메시지를 게시하십시오. – kalev

답변

0

아마도 Moc 경로에 문제가있을 수 있습니다 ... qt 헤더를 집어 넣기 위해 사용하는 폴더에 쓰기 권한이 있는지 확인하십시오. (tmp/moc/debug_shared /). 그리고 나는이 파일을 리눅스 용으로 잘 모릅니다. 그러나 moc 파일을 생성하는 Windows 디렉토리에 있어야합니다.

1

당신은 slot이 있으므로 깨끗한 빌드를 추가 한 후에 Q_OBJECT 매크로가 있어야합니다. 그리고 오류가 발생하면 마지막 줄이 아닌 전체 오류 로그를 게시하십시오.

관련 문제