QT下载:http://qt.nokia.com/downloads
其中Qt SDK for Open Source C++ development on Linux/X11 32-bit 是PC上的SDK,包含了QTCreator。
Qt for Open Source C++ development on Embedded Linux是嵌入式版本的开发库。
这里只叙述arm版的安装。
1:编译tslib库
天嵌提供的tslib1.41版本下载:http://download.youkuaiyun.com/source/2661205
注意配置要正确,否则触摸屏可能出现只能移动鼠标而不能点击的情况。
配置完后make,make install。这里将tslib安装在/opt/QT/tslib下。
2:编译qt-embedded-arm,安装在/opt/QT/qt-embedded-4.6.3-arm下。这里新建一config.sh文件保存配置,然后运行./config.sh。内容如下:
不过就这么编译,移植到开发板上会出现Segmentation Fault的错误(虽然运行两次还是可以启动QT程序),此错误其实是图形缓冲区linuxfb的问题,可以修改qt-everywhere-opensource-src-4.6.3/src/gui/embedded/qscreenlinuxfb_qws.cpp源码:
424行左右的地方:
726行左右的地方:
除此之外,在./configure中如果没有去掉一些不必要或硬件不支持的选项也可能引发Segmentation Fault问题,对于S3C2440开发板可以参考上面的配置。
修改之后make,make install
3:将tslib/lib下所有so文件复制到qt-embedded-4.6.3-arm/lib下(不复制的话则第4步编译程序时找不到某些库)。ts和pkgconfig文件夹可以不复制。
4:将qt-embedded-4.6.3-arm下的lib和plugins文件夹复制到开发板文件系统的/opt/QT4.6.3下。然后删除.so以外的文件并只保留需要的字体。
5:复制tslib/etc/ts.conf文件到开发板文件系统的/etc下,去掉第二行前的#号
6:加载QT运行环境变量,修改开发版文件系统的/etc/profile文件
到这里就可以在开发板上运行QT程序了。
7:实现开机运行QT程序
由于开机启动程序是在/etc/init.d/rcS中加载的,然而运行QT程序首先必须设置运行QT的环境变量,可/etc/profile是在/etc/init.d/rcS后加载的,所以为了实现开机运行程序,必须先设置环境。这里我们可以把设置环境和启动程序用一个脚本完成。新建一文件QT4,放入bin或是sbin中,设置其权限为可执行。其内容如下: (这里启动我自己编写的一个QTbeep程序)
这样我们就可以直接在/etc/init.d/rcS中加入QT4&便可。
(注:此环境变量只影响QT4中启动的程序,进入系统后的环境变量依赖于/etc/profile)