1、在编译Qt4.8源码包之前,首先编译一下TSLIB,后面在配置QT源码包时需要制定TSLIB的路径,否则可能出现触摸屏无法使用的情况。
下载tslib-1.4.tar.gz 下载地址:http://download.csdn.net/detail/it_newborn/5675271
2、编译TSLIB1.4
2.1、解压tslib-1.4.tar.gz; tar zxvf tslib-1.4.tar.gz
2.2、进入tslib目录,./autogen.sh
如果出现错误autoreconf:not found,则时由于没有安装automake工具,执行如下命令安装:sudo apt-get install autoconf automake libtool
2.3、执行上一步骤后会生成configure配置文件,接下来配置编译环境:
./configure --prefix=/usr/local/tslib/ --host=arm-none-linux-gnueabi ac_cv_func_malloc_0_nonnull=yes
2.4、make
2.5、make install,至此,TSLIB编译完成,接下来编译Qt源码包
3、编译QT源码包
3.1、下载qt4.8.3源码包,并解压tar zxvf qt-everywhere-opensource-src-4.8.3.tar.gz
3.2、配置QT源码包
./configure -prefix ~/qt4.8.3-x210 -opensource -embedded arm -xplatform qws/linux-arm-g++ -qt-libtiff -qt-libmng -qt-libjpeg -qt-mouse-tslib -qt-mouse-pc -no-mouse- linuxtp -I/usr/local/tslib/include -L/usr/local/tslib/lib -no-qt3support
如果出现g++未找到的提示,则安装g++ sudo apt-get install g++
如果提示tslib function test fail,解决办法:把交叉编译器的路径加入系统变量
vi /etc/profile在最末尾处添加
export PATH=/usr/local/arm/4.3.3/bin/:$PATH
执行以下命令使配置生效
source /etc/profile
检测是否配置成功
arm-linux-gcc -v
如果打印交叉编译器的信息则说明配置成功,如果提示没有找到命令,则配置失败,重新配置
3.3、make
如果出现错误,最后一行是undefined reference to 'ts_fd',则修改qt-everywhere-opensource-src-4.8.3/mkspecs/qws/linux-arm-g++/qmake.conf文件
添加lts参数,如下:
QMAKE_CC = arm-linux-gcc -lts
QMAKE_CXX = arm-linux-g++ -lts
QMAKE_LINK = arm-linux-g++ -lts
QMAKE-LINK_SHLIB = arm-linux-g++ -lts
再make
3.4、make install完成编译
注:以上所有操作都是在用户模式下,不要在root权限下运行,否则qt creator添加qt版本的时候,会提示没有正确安装,请重新运行make install