2011-03-12 4 views
2

나는 이것을 다운로드 : http://get.qt.nokia.com/qt/source/qt-mac-opensource-4.7.2.dmg 설치하고 설치하십시오. 그럼 Qt helloworld.cc가 있습니다.Mac OS에서 명령 줄에서 Qt 코드를 컴파일하는 방법

#include <QApplication> 
#include <QPushButton> 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QPushButton hello("Hello world!"); 
    hello.resize(100, 30); 

    hello.show(); 
    return app.exec(); 
} 

컴파일을 시도했지만 실패했습니다.

내가 그것을 어떻게 해결할 수 있습니다 "

'의 QApplication은' 이 범위에서 선언되지 않았다"?

답변

3

나를 위해 여기에서 작동합니다. 커맨드 라인을 보여주지는 않았지만 헤더/프레임 워크가 어디에 있는지 컴파일러에 알리기 위해 올바른 플래그를 전달하지 않는 것 같습니다. 여기에 내가 무엇을 사용 : 당신은이 작업을 수행 할 수 있습니다

g++ -I /Library/Frameworks/QtGui.framework/Versions/4/Headers \ 
    -o example example.cpp \ 
    -framework QtGui -framework QtCore 
+0

감사합니다. 너는 내 시간을 절약한다! –

+0

g ++을 직접 호출하는 대신 한 줄의 .pro 파일과 "qmake; make"를 사용하는 것이 좋고/쉽지 않을까요? –

+0

빠른 hello world 테스트 이상을 원한다면 Qt 소프트웨어를 컴파일하는 적절한 방법은 프로젝트 파일과 qmake를 사용하는 것입니다. – koan

4

(내가 잘못 아니에요 희망) : 당신이 당신의 소스 파일을 CD해야 물론

$ qmake -project 
$ qmake 
$ make 

. 또한 Qt로 작업 할 때 *.cpp 파일 이름을 고수하는 것이 좋습니다.

+0

Qt의'* .cc' 파일에 문제가 없습니다. – koan

+0

qmake on MAC은 기본적으로 xproject 프로젝트를 만듭니다. qmake를 스위치와 함께 사용해야합니다. 예 : qmake -spec macx-g ++ –

+0

@koan : 문제가 있다는 것은 아닙니다. 단지 좋은 생각입니다. 나를 위해 * .cc 파일은 순수한 C와 연관되어 있습니다. @Valentin Heinitz : 저는 소스에서 Qt를 컴파일했으며 기본적으로 makefile을 생성합니다. 나는 그것이 .pro 파일에서 구성 할 수 있다고 생각합니다. 기본적으로 생성되는 것입니다. –