ARM Linux交叉编译Qt3.3.4与触摸屏驱动集成指南
需积分: 12 49 浏览量
更新于2024-09-13
收藏 50KB DOC 举报
本文档详细介绍了如何在ARM Linux环境下交叉编译Qt 3.3.4版本,并且包含了配置触摸屏驱动的步骤。使用的内核版本为Linux 2.6.18,编译器为arm-linux-3.4.1。
首先,你需要下载Qt 3.3.8的源代码并进行解压缩:
```
tar xfz qt-x11-free-3.3.8.tar.gz
cd qt-x11-free-3.3.8
```
然后,设置环境变量以便于后续的编译过程:
```
export QTDIR=/home/qt-x11-free-3.3.8
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
```
执行配置脚本,以适应ARM架构:
```
./configure
```
编译Qt的核心部分以及QVFB(Qt Virtual Framebuffer):
```
make
make -C tools/qvfb
mv tools/qvfb/qvfb $QTDIR/bin
```
最后,执行安装命令:
```
make install
export PATH=/usr/local/arm/3.4.1/bin:$PATH
export QTDIR=/usr/local/arm/qte
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
```
在配置过程中,添加了特定的选项以适应嵌入式设备和触摸屏:
```
./configure -depths 4,8,16,32 -no-ipv6 -no-cups -no-pch -qvfb -embedded arm -qt-gif -thread -qt-mouse-linuxtp
```
为了支持触摸屏(兼容IPAQ),需要修改源代码:
在`src/embedded/qmouselinuxtp_qws.h`中添加以下宏定义:
```c
#define QWS_MOUSE_IPAQ
#define QWS_MOUSE_IPAQ_RAW
#define QT_QWS_IPAQ
```
接下来,编译Qt/Embedded库:
```
make sub-src
```
在安装了触摸屏库tslib之后,你可以按照以下步骤操作:
1. 解压缩tslib-1.3的源代码包。
2. 创建一个名为`image`的目录,这将是安装的目标目录。
3. 运行`autogen.sh`以生成配置文件。
4. 在`arm-linux.cache`文件中设置`ac_cv_func_malloc_0_nonnull=yes`。
5. 使用`configure`脚本配置tslib,指定主机为ARM Linux,设置安装路径,并禁用输入API:
```bash
./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=$PWD/image --enable-inputapi=no
```
以上步骤完成后,你将拥有一个针对ARM Linux平台交叉编译的Qt 3.3.4版本,并且集成了触摸屏驱动,适合在嵌入式设备上运行。请注意,由于这是一个较旧的版本,可能不支持较新的硬件或Qt特性。对于现代项目,建议使用更新的Qt版本和对应的交叉编译工具链。
167 浏览量
151 浏览量
2021-09-24 上传
2020-10-21 上传
231 浏览量
800 浏览量