标题:【提问】编译qte例子通不过
作者:qlong79
日期:2006-01-10 08:47
内容:
编译qte时,除了有警告外,其他还算正常,最后也顺利的出来 Enjoy!
但是发现例子生成了makefile,但没可执行程序,
直接make,提示
# make
g++-c -I/devel/qte237host/include -pipe -DQWS -fno-exceptions -fno-rtti -O2 -f
no-default-inline -Wall -W -DNO_DEBUG-o main.o main.cpp
g++ -L/devel/qte237host/lib -Wl,-rpath,/devel/qte237host/lib -o ./t1 main.o
-lqte -lm
/devel/qte237host/lib/libqte.so: undefined reference to `QWizard::staticMetaObje
ct()'
collect2: ld returned 1 exit status
make: *** Error 1
只生成了main.o文件
如果重新用
tmake -o Makefile t1.pro
make
错误相同
请问问题出在哪?
#1 [zksunk 01-11 14:12]
你设置了环境变量么?
export QTDIR=$PWD/qt
export QPEDIR=$PWD/qtopia
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
我自己t9也没有编译通过
#2 [qlong79 01-13 09:17]
设置环境变量了,但是有一处和你不同
我设的是 TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86.g++
我又试了一下你设的方式,仍然不行
提示
g++-o t1 -L/devel/qte237host/lib -lqte
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o(.text+0x18): In functio
n `_start':
../sysdeps/i386/elf/start.S:77: undefined reference to `main'
/devel/qte237host/lib/libqte.so: undefined reference to `QWizard::staticMetaObje
ct()'
collect2: ld returned 1 exit status
make: *** Error 1
#3 [lj_0212 01-13 10:40]
QWizard::staticMetaObject()
这是什么函数?头文件中没有它吧。
#4 [qlong79 01-14 09:05]
我猜是和moc有关,就是转换signal-slot为c++文件的部分
但是我编译的是qte自带的教程下边的例子,怎么会通不过呢?
我又试了下别的例子和example,都不能通过编译。。。。
#5 [lj_0212 01-20 08:13]
你的qte是用qpe的config文件编译的吧?
你需要修改pro文件。加入下面一句:
config += qtopia
或者修改tmake的配置文件,即tmake.conf,将
CONFIG = qt warn_on release
改为
CONFIG = qt qtopia warn_on release
这样应该可以过了