标题:建立好qtopia-1.7.0开发环境后,编译qtopia自带的example例子总出错
作者:looneyxp
日期:2006-05-17 21:59
内容:
# tmake -o Makefileexample.pro
# make
g++-o example main.o example.o examplebase.o moc_example.o moc_examplebase.o -L/thesis/qt/qtopia-free-1.7.0/lib -L/thesis/qt/qt-embedded-2.3.7/lib -lqpe -lqtopia -lqte
moc_example.o(.text+0x188): In function `Example::staticMetaObject(void)':
: undefined reference to `QMetaObject::new_metaobject(char const *, char const *, QMetaData *, int, QMetaData *, int, QMetaProperty *, int, QMetaEnum *, int, QClassInfo *, int)'
moc_example.o(.gnu.linkonce.d.__vt_7Example+0x12c): undefined reference to `QWidget::dragEnterEvent(QDragEnterEvent *)'
moc_example.o(.gnu.linkonce.d.__vt_7Example+0x130): undefined reference to `QWidget::dragMoveEvent(QDragMoveEvent *)'
moc_example.o(.gnu.linkonce.d.__vt_7Example+0x134): undefined reference to `QWidget::dragLeaveEvent(QDragLeaveEvent *)'
moc_example.o(.gnu.linkonce.d.__vt_7Example+0x138): undefined reference to `QWidget::dropEvent(QDropEvent *)'
moc_examplebase.o(.text+0xfb): In function `ExampleBase::staticMetaObject(void)':
: undefined reference to `QMetaObject::new_metaobject(char const *, char const *, QMetaData *, int, QMetaData *, int, QMetaProperty *, int, QMetaEnum *, int, QClassInfo *, int)'
moc_examplebase.o(.gnu.linkonce.d.__vt_11ExampleBase+0x12c): undefined reference to `QWidget::dragEnterEvent(QDragEnterEvent *)'
moc_examplebase.o(.gnu.linkonce.d.__vt_11ExampleBase+0x130): undefined reference to `QWidget::dragMoveEvent(QDragMoveEvent *)'
moc_examplebase.o(.gnu.linkonce.d.__vt_11ExampleBase+0x134): undefined reference to `QWidget::dragLeaveEvent(QDragLeaveEvent *)'
moc_examplebase.o(.gnu.linkonce.d.__vt_11ExampleBase+0x138): undefined reference to `QWidget::dropEvent(QDropEvent *)'
collect2: ld returned 1 exit status
make: *** Error 1
#1 [looneyxp 05-17 22:00]
我的库应该都编译完成了,qpe也可以运行起来
#2 [zhaonash 05-18 14:08]
它给的example没有问题 , 检查下环境变量吧. 用env命令可以看下
#3 [shiroki 05-18 17:52]
moc的版本对吗? 要从qt2里头拿来,不能用系统默认路径里的那个
#4 [looneyxp 05-18 20:16]
给下我的环境变量#env
TMAKEPATH=/thesis/qt/tmake-1.13/lib/qws/linux-generic-g++
QT2DIR=/thesis/qt/qt-x11-2.3.2
QTEDIR=/thesis/qt/qt-embedded-2.3.7
QPEDIR=/thesis/qt/qtopia-free-1.7.0
PATH=/thesis/qt/qt-x11-2.3.2/bin:/thesis/qt/qt-embedded-2.3.7/bin:/thesis/qt/qtopia-free-1.7.0/bin:/bin:/thesis/qt/tmake-1.13/bin
LD_LIBRARY_PATH=/thesis/qt/qt-x11-2.3.2/lib:/thesis/qt/qt-embedded-2.3.7/lib:/thesis/qt/qtopia-free-1.7.0/lib:/lib:
#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
gcc version 2.95.4 20011002 (Debian prerelease)
俄女我运行那个例子的时候export QTDIR=$QTEDIR
编译都没有错,连接出了错
#make
/thesis/qt/qt-embedded-2.3.7/bin/uic examplebase.ui -o ./examplebase.h
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/thesis/qt/qt-embedded-2.3.7/include -I/thesis/qt/qtopia-free-1.7.0/include -o main.o main.cpp
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/thesis/qt/qt-embedded-2.3.7/include -I/thesis/qt/qtopia-free-1.7.0/include -o example.o example.cpp
/thesis/qt/qt-embedded-2.3.7/bin/uic examplebase.ui -i examplebase.h -o examplebase.cpp
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/thesis/qt/qt-embedded-2.3.7/include -I/thesis/qt/qtopia-free-1.7.0/include -o examplebase.o examplebase.cpp
/thesis/qt/qt-embedded-2.3.7/bin/moc example.h -o moc_example.cpp
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/thesis/qt/qt-embedded-2.3.7/include -I/thesis/qt/qtopia-free-1.7.0/include -o moc_example.o moc_example.cpp
/thesis/qt/qt-embedded-2.3.7/bin/moc examplebase.h -o moc_examplebase.cpp
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -I/thesis/qt/qt-embedded-2.3.7/include -I/thesis/qt/qtopia-free-1.7.0/include -o moc_examplebase.o moc_examplebase.cpp
g++-o example main.o example.o examplebase.o moc_example.o moc_examplebase.o -L/thesis/qt/qtopia-free-1.7.0/lib -L/thesis/qt/qt-embedded-2.3.7/lib -lqpe -lqtopia -lqte
请问环境到底应该如何设置
#5 [looneyxp 05-18 20:17]
希望哪位大虾指正
我的环境建立好多天还没搞定