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

    技术2022-11-25  39

    一.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/downloads

    Download 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.4

    libQtCore.so.4     libQtGui.so          libQtGui.so.4.5.2   libQtNetwork.so.4.5

    libQtCore.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:$PATH

    export 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

    成功

    最新回复(0)