[일단완료]왕초보 질문! Hello World 프로그램 컴파일 에러! 왜?
그 유명한 Hello World 프로그램입니다만
왕초보인 저에게는 너무나 어렵네요.
-소스는 아래와 같구요.
#include QApplication
#include QLabel
-- 참고 : 꺽새는 생략 했습니다. 이건왜 없어지죠?
int main(int argc, char **argv)
{
QApplication app(argc,argv);
QLabel *hello = new QLabel("Hello Qt" "",0);
hello->show();
return app.exec();
}
-컴파일 에러 메세지는 다음과 같습니다. 선배님들의 조언을 부탁드립니다.
dreamer@dreamer-desktop:~/바보$ qmake -project
dreamer@dreamer-desktop:~/바보$ qmake
dreamer@dreamer-desktop:~/바보$ make
g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3 -o hello.o hello.cpp
hello.cpp:1:24: error: QApplication: No such file or directory
hello.cpp:2:18: error: QLabel: No such file or directory
hello.cpp: In function ‘int main(int, char**)’:
hello.cpp:6: error: ‘QApplication’ was not declared in this scope
hello.cpp:6: error: expected ‘;’ before ‘app’
hello.cpp:7: error: ‘QLabel’ was not declared in this scope
hello.cpp:7: error: ‘hello’ was not declared in this scope
hello.cpp:7: error: expected type-specifier before ‘QLabel’
hello.cpp:7: error: expected ‘;’ before ‘QLabel’
hello.cpp:9: error: ‘app’ was not declared in this scope
hello.cpp: At global scope:
hello.cpp:4: warning: unused parameter ‘argc’
hello.cpp:4: warning: unused parameter ‘argv’
make: *** [hello.o] 오류 1
QtGui/QApplication
QtGui/QApplication 는 include 하셨나요?
Qt Creator 와 같은 통합환경을 이용하시는게 좋을텐데요.
경로 확인 하셔야 할듯...
/usr/include/qt3에 정말 qt3 include파일이 있나 확인 해 보세요 ㅎㅎ 그리고 qt4부터는 헤더파일명이 바꼈더라고요. include에 뭐하셨는지 모르겠지만 그게 잘못되었을 수도 있을듯.
답변 감사합니다. 꾸벅.. 그런데요...
파일찾기로 찾아 보니까 분명 /usr/include/qt3에 Qapplication.h랑 Qlabel.h가 있는데요... 왜 그럴까요? 끌적 끌적 아~ 비듬~
..
답변으로 적으신 파일명이 확실하다면 소스 코드에 Include 한 파일명과는 틀리군요.
Qt 3.x에서는 저런
Qt 3.x에서는 저런 식으로 인클루드시키면 컴파일 에러가 납니다. 모든 Qt 3 개발 패키지를 삭제하시고, Qt 4 개발 패키지를 설치한 다음 다시 시도하십시오. Qt를 새로 시작하신다면 바로 Qt 4부터 시작하는 것을 추천합니다.
---- 절취선 ----
http://blog.peremen.name
꾸벅! 답글
꾸벅! 답글 감사합니다.
그렇다면
qt3개발 패키지는 어떻게 삭제 하는지요? 왕초보 갈길이 머네요!
무엇을 하고
무엇을 하고 싶으신건가요? Qt는 메이저 버전이 3에서 4로 바뀌면서 사용법이 바뀐 부분도 많습니다.
현재 적으신 코드는 Qt4용 코드인데, 컴파일 메시지를 보면 이 코드를 Qt3으로 컴파일하려고 있고, 그래서 에러가 발생하는 것으로 보입니다.
만약 앞으로 작업해야할 것이 Qt3이라 Qt3을 공부하실려고 한 것이라면 Qt3에 대한 내용으로 공부를 하시구요,
Qt4를 공부하실 것이라면, Qt4로 빌드하세요.
Qt4로 빌드하는 구체적인 명령어나 파일 위치는 실행 환경에 따라 다릅니다.
이부분에 대해 도움이 필요하시면 본인이 이용중인 배포판에 대한 정보가 필요합니다.
해당 배포판을 사용중인 분이 답변해주실 수도 있을 것입니다.
왕초보! 답글 감사합니다. 한가지만 더
저는 우분투 10.04 LTS라는 버젼을 Vmware에 설치하여 사용하고 있습니다.
qt3는 제가 처음 리눅스 하면서 이것저것 만지다가 저도 모르게 설치된것 같은데, qt4는 어떻게 설치하는지요?
어떤 사이트에 설명은 너무 복잡해서 뭐가 뭔지 잘 모르겠더라구요.
좀 간단하고 쉬운 방법은 없나요?
다시 한번 답글 감사드립니다. 복받으실 거예요. ^^;
http://doc.qt.nokia.com/거
http://doc.qt.nokia.com/
거의 모든 상세한 설명은 위 페이지에서 아주 쉽게 찾을수 있습니다.
댓글 달기