标题:有关qt-embedded-free-3.1.2 静态编译问题
作者:whyspai
日期:2006-08-26 17:43
内容:
我用的宿主机操作系统是Red Hat 9 使用的arm的编译器是arm-linux-gcc-3.3.2
在对qt-embedded-free-3.1.2进行静态编译是所用的配置命令是:
./configure -embedded arm-no-cups-thread -no-stl -qt-libpng -system-libjpeg -qt-libmng -qt-imgfmt-jpeg -disable-network -disable-sql -disable-xml -qt-mouse-linuxtp -qt-kbd-key -qvfb -depths 4,8,16,32 -static
配置的时候没有错误出现,在make-sub的时候出现如下错误:
kernel/qapplication_qws.cpp: In function `static void
QWSDisplay::setTransformation(int)':
kernel/qapplication_qws.cpp:1236: warning: unused parameter `int t'
kernel/qapplication_qws.cpp: In function `void qt_init(int*, char**,
QApplication::Type)':
kernel/qapplication_qws.cpp:1535: error: `qInitNetworkProtocols' undeclared
(first use this function)
kernel/qapplication_qws.cpp:1535: error: (Each undeclared identifier is
reported only once for each function it appears in.)
make[1]: *** [.obj/release-static-mt-emb-arm/qapplication_qws.o] Error 1
make[1]: Leaving directory `/usr/src/Qt/Qt_src/qt-embedded-free-3.1.2/src'
make: *** Error 2
#
我自己认为是配置命令有错误,但是我不知道该怎样去修改,希望得到高手的指点,在此先谢过!
#1 [whyspai 08-28 20:37]
高手给个答案吧!
#2 [txb 08-29 15:29]
我用的是qt-embedded-free-3.3.3静态编译的,交叉编译器用的是arm-linux-gcc3.4.1。可以编译没有问题。我看别的文章上说,qt有些插件是第三方的,所以需要先将这些插件静态编译之后,才可以静态编译qt。因为我的程序需要使用多线程和sqlite数据库,所以我所用的配置命令是这样的:
./configure -static -embedded arm-release -fast -thread -qt-sql-sqlite -no-cups -no-ipv6 depths 4,8,16,32
还有,你看看你的环境变量都设了吗?
#3 [liubaosen 08-31 19:04]
你把 -qvfb 去了,变成-qconfig qpe(src/tool中要有qconfig-qpe.h)或-qconfig full 或large试试