Wednesday, May 6, 2009

qte4编译

原先的板子一直用的都是qte4.3.4版本的库,现在要换成qte4.4.3的。今天又尝试重新编译了一下。
一.qt-embedded-linux-opensource-src-4.4.3
1. cd qt-embedded-linux-opensource-src-4.4.3
2. ./configure -prefix $PWD/build -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb -confirm-license -qt-mouse-tslib
configure完后会在当前目录下生成config.status文件,里面记录了编译时使用的参数。
configure支持的参数及其意义可以通过./configure --help来查看。
这里使用tslib做为qt鼠标的驱动,需要修改mkspecs/qws/linux-arm-g++/qmake.conf文件:
QMAKE_INCDIR = /home/lcc/project/qt/tslib-1.4/build/include
QMAKE_LIBDIR = /home/lcc/project/qt/tslib-1.4/build/lib
否则会出现"The tslib functionality test failed!"错误。这个错误还有另外一种解决办法就是在configure的时候增加-I和-L参数,qte4.3.4就采用了这种方法。
3. make
4. make install

二.qtopia-core-opensource-src-4.3.4
1. cd qtopia-core-opensource-src-4.3.4
2. ./configure -prefix $PWD/build -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb -confirm-license -qt-mouse-tslib -I/home/lcc/project/qt/tslib-1.4/build/include -L/home/lcc/project/qt/tslib-1.4/build/lib
需要注意qte4.3.4配置时比qte4.4.3少了两个参数-optimized-qmake -no-phonon。
qte4.3.4不支持-no-phonon这个参数,这个参数的意义是不编译Phonon模块。如果加上的话会出现这个错误:
-no-phonon: invalid command-line switch
-qt-gfx-linuxfb: unknown argument
-no-gfx-qvfb: unknown argument
-no-kbd-qvfb: unknown argument
-no-mouse-qvfb: unknown argument
-qt-kbd-usb: unknown argument
-qt-mouse-tslib: unknown argument
后面几个参数本来是没什么问题的,在此捎带着也受牵连了。
qte4.3.4支持-optimized-qmake这个参数,但是加上这个参数之后在configure的时候会出现一堆segmentation fault,这个问题也有可能是我的环境有问题?不知道有没有人碰到过。
3. make
4. make install

ps: 如果前一次configure成功,可以make confclean然后重新configure。但是如果前一次configure失败了,最好是删掉整个目录重新解压再configure。
ps2:注意系统中gcc版本的高低以及交叉编译链的版本,否则会出现问题。系统gcc的版本不能太低。在gcc3.2.2@redhat9里编译qt-embedded-linux-opensource-src-4.4.3就出现了一些很奇怪的问题。

No comments:

Post a Comment