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