• 6011阅读
  • 6回复

【提问】编译qte例子通不过 [复制链接]

上一主题 下一主题
离线qlong79
 
只看楼主 倒序阅读 楼主  发表于: 2006-01-10
编译qte时,除了有警告外,其他还算正常,最后也顺利的出来 Enjoy!

但是发现例子生成了makefile,但没可执行程序,

直接make,提示

[root@fmj t1]# 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: *** [t1] Error 1

只生成了main.o文件
如果重新用
tmake -o Makefile t1.pro
make

错误相同

请问问题出在哪?
[ 此贴被XChinux在2006-01-11 01:29重新编辑 ]
离线zksunk

只看该作者 1楼 发表于: 2006-01-11
你设置了环境变量么?

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也没有编译通过
离线qlong79
只看该作者 2楼 发表于: 2006-01-13
设置环境变量了,但是有一处和你不同
我设的是 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: *** [t1] Error 1
离线lj_0212

只看该作者 3楼 发表于: 2006-01-13
QWizard::staticMetaObject()

这是什么函数?头文件中没有它吧。
离线qlong79
只看该作者 4楼 发表于: 2006-01-14
我猜是和moc有关,就是转换signal-slot为c++文件的部分
但是我编译的是qte自带的教程下边的例子,怎么会通不过呢?
我又试了下别的例子和example,都不能通过编译。。。。
离线lj_0212

只看该作者 5楼 发表于: 2006-01-20
你的qte是用qpe的config文件编译的吧?
你需要修改pro文件。加入下面一句:
config += qtopia
或者修改tmake的配置文件,即tmake.conf,将
CONFIG = qt warn_on release
改为
CONFIG = qt qtopia warn_on release
这样应该可以过了
离线lj_0212

只看该作者 6楼 发表于: 2006-01-20
再不行的话就重新编译qte。
不要用qconfig-qpe.h,把它改个名,改成qconfig-local.h。
直接make.
出现选项后选择everything,也就是默认。

之前不要忘了make clean。
再不成我也没招了。
快速回复
限100 字节
 
上一个 下一个