QT 컴파일이 안되네요
글쓴이: zihado / 작성시간: 월, 2007/01/15 - 9:50오전
안녕하세요
QT를 공부해볼려고 하는데 컴파일부터 막히네요
OS는 우분투 6.10 입니다
#include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) { QApplication a( argc, argv ); QPushButton hello( "Hello world!", 0 ); hello.resize( 100, 30 ); a.setMainWidget( &hello ); hello.show(); return a.exec(); }
코드는 위와 같고
컴파일 시에
$ qmake -project
$ qmake
$ make
이런식으로 했습니다.
에러 메시지는 다음과 같습니다
Quote:
g++ -o qt main.o -L/usr/X11R6/lib -lXext -lX11 -lm -lpthread
main.o: In function `main':main.cpp:(.text+0x27): undefined reference to `QApplication::QApplication(int&, char**)'
:main.cpp:(.text+0x3a): undefined reference to `QString::QString(char const*)'
:main.cpp:(.text+0x5c): undefined reference to `QPushButton::QPushButton(QString const&, QWidget*, char const*)'
:main.cpp:(.text+0x70): undefined reference to `QString::shared_null'
:main.cpp:(.text+0x7a): undefined reference to `QStringData::deleteSelf()'
:main.cpp:(.text+0x92): undefined reference to `QPushButton::resize(int, int)'
:main.cpp:(.text+0x9e): undefined reference to `QApplication::setMainWidget(QWidget*)'
:main.cpp:(.text+0xa6): undefined reference to `QWidget::show()'
:main.cpp:(.text+0xae): undefined reference to `QApplication::exec()'
:main.cpp:(.text+0xb8): undefined reference to `QPushButton::~QPushButton()'
:main.cpp:(.text+0xc0): undefined reference to `QApplication::~QApplication()'
:main.cpp:(.text+0xe0): undefined reference to `QString::shared_null'
:main.cpp:(.text+0xea): undefined reference to `QStringData::deleteSelf()'
:main.cpp:(.text+0xf2): undefined reference to `QApplication::~QApplication()'
:main.cpp:(.text+0x108): undefined reference to `QPushButton::~QPushButton()'
main.o:(.gnu.linkonce.r._ZTI6QGList[typeinfo for QGList]+0x8): undefined reference to `typeinfo for QPtrCollection'
main.o:(.gnu.linkonce.r._ZTV6QGList[vtable for QGList]+0xc): undefined reference to `QGList::clear()'
main.o:(.gnu.linkonce.r._ZTV6QGList[vtable for QGList]+0x10): undefined reference to `QGList::~QGList()'
main.o:(.gnu.linkonce.r._ZTV6QGList[vtable for QGList]+0x14): undefined reference to `QGList::~QGList()'
main.o:(.gnu.linkonce.r._ZTV6QGList[vtable for QGList]+0x18): undefined reference to `QPtrCollection::newItem(void*)'
main.o:(.gnu.linkonce.r._ZTV6QGList[vtable for QGList]+0x20): undefined reference to `QGList::compareItems(void*, void*)'
main.o:(.gnu.linkonce.r._ZTV6QGList[vtable for QGList]+0x24): undefined reference to `QGList::read(QDataStream&, void*&)'
main.o:(.gnu.linkonce.r._ZTV6QGList[vtable for QGList]+0x28): undefined reference to `QGList::write(QDataStream&, void*) const'
collect2: ld returned 1 exit status
make: *** [qt] Error 1
dev 패키지가 안깔린거 같아서
apt-cache search qt3 | grep dev
해서 모든 패키지를 설치했는데도 저렇게 되네요
참, QT3 입니다.
Forums:
아무래도... 라이브러리 링크가 빠진듯...
Qt 라이브러리에 대한 라이브러리가 컴파일 옵션에 없는것 같은데요?
만약 Qt 라이브러리가 /usr/qt/3 에 설치되어 있다면
g++ -I/usr/qt/3/include -L/usr/qt/3/lib -lqt ... (소스리스트)
형식으로 컴파일 해보세요. Makefile 을 고치셔도 되고요.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.
qt 라이브러리가 링크
qt 라이브러리가 링크 안 되었네요.
qmake 실행 전에 QTDIR 과 QMAKESPEC 환경변수를 설정하시고
실행하시면 될겁니다. 설정법은 배포본에 따라 다를 수 있으므로
직접 찾으셔야 되고, mkspec 화일 내용이 마음에 안드시면
직접 고치셔야 될겁니다.
더 자세한 내용은 검색해보세요.
QTDIR 설정은 제대로 되어있나요?
환경 설정을 확인해보세요
자세한 것은 제 홈페이지의 서당을 참고하시기 바랍니다.
서영진 입니다.
Homepage : http://valentis.pe.kr
blog : http://www.lifeholic.com
-------------------------------------
서영진 입니다.
Homepage : http://valentis.pe.kr
blog : http://www.lifeholic.com
댓글 달기