QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1066|回复: 2

怎么我编译的时候出现这样的错误?

[复制链接]
发表于 2006-4-9 17:42:31 | 显示全部楼层 |阅读模式
从官方文档里拷下来了一段“Helloworld”的代码:
[code:1]
#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();
}
[/code:1]
保存为main.cpp,然后用qmake -project
                            qmake
来生成makefile,这两步都没有报错
但是在make的时候出错了:
[code:1]
[root@tju-cch qt]# make
g++ -c -pipe -Wall -W -O2 -g -pipe -D_FORTIFY_SOURCE=2 -m32 -march=i686 -mcpu=i686 -mtune=i686 -DQT_NO_DEBUG -I/usr/lib/qt-3.3/mkspecs/default -I. -I. -I/usr/lib/qt-3.3/include -o main.o main.cpp
g++ -o qt main.o   -L/usr/X11R6/lib -lXext -lX11 -lm
main.o: In function `main':
/home/chwoozy/qt/main.cpp:7: undefined reference to `QApplication::QApplication(int&, char**)'
/home/chwoozy/qt/main.cpp:9: undefined reference to `QString::QString(char const*)'
/home/chwoozy/qt/main.cpp:9: undefined reference to `QPushButton::QPushButton(QString const&, QWidget*, char const*)'
main.o: In function `main':
/usr/lib/qt-3.3/include/qstring.h:847: undefined reference to `QString::shared_null'
/usr/lib/qt-3.3/include/qstring.h:848: undefined reference to `QStringData::deleteSelf()'
main.o: In function `main':
/home/chwoozy/qt/main.cpp:10: undefined reference to `QPushButton::resize(int, int)'
/home/chwoozy/qt/main.cpp:12: undefined reference to `QApplication::setMainWidget(QWidget*)'
/home/chwoozy/qt/main.cpp:13: undefined reference to `QWidget::show()'
/home/chwoozy/qt/main.cpp:14: undefined reference to `QApplication::exec()'
/home/chwoozy/qt/main.cpp:14: undefined reference to `QPushButton::~QPushButton()'
/home/chwoozy/qt/main.cpp:14: undefined reference to `QApplication::~QApplication()'
main.o: In function `main':
/usr/lib/qt-3.3/include/qstring.h:847: undefined reference to `QString::shared_null'
/usr/lib/qt-3.3/include/qstring.h:848: undefined reference to `QStringData::deleteSelf()'
main.o: In function `main':
/home/chwoozy/qt/main.cpp:14: undefined reference to `QApplication::~QApplication()'
/home/chwoozy/qt/main.cpp:14: undefined reference to `QPushButton::~QPushButton()'
main.o:(.gnu.linkonce.r._ZTV6QGList+0xc): undefined reference to `QGList::clear()'
main.o:(.gnu.linkonce.r._ZTV6QGList+0x10): undefined reference to `QGList::~QGList()'
main.o:(.gnu.linkonce.r._ZTV6QGList+0x14): undefined reference to `QGList::~QGList()'
main.o:(.gnu.linkonce.r._ZTV6QGList+0x18): undefined reference to `QPtrCollection::newItem(void*)'
main.o:(.gnu.linkonce.r._ZTV6QGList+0x20): undefined reference to `QGList::compareItems(void*, void*)'
main.o:(.gnu.linkonce.r._ZTV6QGList+0x24): undefined reference to `QGList::read(QDataStream&, void*&)'
main.o:(.gnu.linkonce.r._ZTV6QGList+0x28): undefined reference to `QGList::write(QDataStream&, void*) const'
main.o:(.gnu.linkonce.r._ZTI6QGList+0x8): undefined reference to `typeinfo for QPtrCollection'
collect2: ld returned 1 exit status
make: *** [qt] 错误 1
[/code:1]
不知道是哪里出错了?
我用的是MagicLinux2.0正式版里面自带的Qt3.3.6
需不需要我把Makefile也帖上来?
发表于 2006-4-9 23:30:50 | 显示全部楼层
g++ -o qt main.o   -L/usr/X11R6/lib -lXext -lX11 -lm

Qt没有link上。
回复

使用道具 举报

 楼主| 发表于 2006-4-10 10:51:46 | 显示全部楼层
貌似是差了个-lqt-mt参数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 18:31 , Processed in 0.043261 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表