[转]最新诺基亚Qt4.6的上下位机移植手记,触摸屏支持

来源:互联网 发布:免费ppt制作软件 编辑:程序博客网 时间:2024/05/01 02:13
原文地址:http://blog.ednchina.com/gurongjiang/352778/message.aspx一.PC for Winxp下的开发环境的搭建诺基亚收购Qt以后,开发了自己的集成开发环境Qt Creater。这是一个非常强大的工具,上手也很快。登陆:http://qt.nokia.com/downloads 网站下载:Download Qt SDK for Windows* (283 MB) 然后安装即可以使用。自带Qtdemo可是演示例子,非常的好用,方面了开发 二.下位机OMAP上移植Qt4.6(以及触摸屏支持)1.下载源文件网站:http://qt.nokia.com/downloadsDownload Qt libraries 4.6 for embedded Linux (155 MB) 2.把自己的交叉编译环境导出,这里注意,必须重命名为:arm-linux-***的形式,否则Qt可能找不到编译工具。3.交叉编译tslib1.4,这个在我的博客里面已经讲过了4.解压缩源码cd qt-everywhere-linux-opensource-src-4.6.0执行,配置,可以根据自己需要裁减Qt./configure -prefix /opt/qt-everywhere-linux-opensource-src-4.6.0/build -release -shared -fast -no-pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-libpng -qt-zlib -qt-freetype -no-openssl -nomake examples -nomake demos -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 -I/opt/tslib-install /include -L/opt/tslib-install /lib注意:红色的是触摸屏支持的配置。 -I/opt/tslib-install /include 编译好的头文件路径-L/opt/tslib-install /lib 编译好的库文件路径选择: o //开源选择: yes配置完成:gmake gmake install //编译后安装到/opt/qt-everywhere-linux-opensource-src-4.6.0/build 5.复制需要的库文件和字体把libQtCore.so libQtCore.so.4.5.2 libQtGui.so.4.5 libQtNetwork.so.4libQtCore.so.4 libQtGui.so libQtGui.so.4.5.2 libQtNetwork.so.4.5libQtCore.so.4.5 libQtGui.so.4 libQtNetwork.so libQtNetwork.so.4.5.2都拷到下位机/qte/lib里面去把fonts复制到/qte/lib/fonts里面去 6.编译一个例子编译qt源码下examples/linguist/hellotr#qmake#make这里我出现了一个编译错误,说libqtgui.so undefined reference "ts_read_raw"什么的可是明明已经把tslib编译到Qt里面了我的解决方法:查看了qmake生成的Makefile发现里面的有关库的地方发现有点问题:-L/opt/tslib-install /lib的后面只有路径,没有链接选项修改为:-L/opt/tslib-install /lib -lts这样就可以成功编译了把生成的hellotr复制到下位机/qte 中7.设置环境变量export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport PATH=$QTDIR/bin:$PATHexport TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/event1 export QWS_MOUSE_PROTO=tslib:/dev/input/event1 export QT_QWS_FONTDIR=/qte/lib/fonts export QWS_SIZE=480x640/bin/ts_calibrate //我的下位机已经移植好tslib了,运行这个生成pointercal文件 //tslib相关环境变量见我博客/*参考export T_ROOT=/tslib export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/event0 export TSLIB_PLUGINDIR=$T_ROOT/lib/ts export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf export TSLIB_CALIBFILE=/etc/pointercal */ 8.运行程序# /qte/hellotr -qws成功