您的位置:首页 > 编程语言 > Qt开发

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

2011-01-16 20:04 447 查看
一.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_PATH
export 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

成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: