QT 컴파일이 안되네요

zihado의 이미지

안녕하세요

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 입니다.

jachin의 이미지

Qt 라이브러리에 대한 라이브러리가 컴파일 옵션에 없는것 같은데요?

만약 Qt 라이브러리가 /usr/qt/3 에 설치되어 있다면

g++ -I/usr/qt/3/include -L/usr/qt/3/lib -lqt ... (소스리스트)

형식으로 컴파일 해보세요. Makefile 을 고치셔도 되고요.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

익명사용자의 이미지

qt 라이브러리가 링크 안 되었네요.

qmake 실행 전에 QTDIR 과 QMAKESPEC 환경변수를 설정하시고

실행하시면 될겁니다. 설정법은 배포본에 따라 다를 수 있으므로

직접 찾으셔야 되고, mkspec 화일 내용이 마음에 안드시면

직접 고치셔야 될겁니다.

더 자세한 내용은 검색해보세요.

valentis의 이미지

환경 설정을 확인해보세요
자세한 것은 제 홈페이지의 서당을 참고하시기 바랍니다.

서영진 입니다.
Homepage : http://valentis.pe.kr
blog : http://www.lifeholic.com

-------------------------------------

서영진 입니다.
Homepage : http://valentis.pe.kr
blog : http://www.lifeholic.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.