qt 4.8.4 linux,Tslib和Qt 4.8.4与在开发板上的移植
這篇博客算是接著Linux 下編譯、安裝、配置 QT這篇的,搞完PC平臺的就來弄一下嵌入式平臺的,Linux的東西搞起來麻煩的地方就在于太雜、太散,像QT,各版本之間都有很多差異,因此在網絡上查找資料不能光看某一個,必須很多資料綜合來判斷、取舍。
好了,下面進入正題,本篇主要記錄QT的交叉編譯過程,這過程中很多東西我都試著去理解,去找出為什么這樣做,然而畢竟時間有限,很多地方還不太清楚,只能先做了再說,后續的地方回頭慢慢理解。
Qt 的詳細介紹:請點這里
Qt 的下載地址:請點這里
推薦閱讀:
軟件平臺
Linux:Ubuntu 12.04 X86
QT:4.8.4
交叉編譯工具鏈:gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
tslib編譯與安裝
tslib是電阻式觸摸屏用于校準的一個軟件庫,是一個開源的程序,能夠為觸摸屏驅動獲得的采樣提供諸如濾波、去抖、校準等功能,通常作為觸摸屏驅動的適配層,為上層的應用提供了一個統一的接口。因此這里先編譯安裝tslib,這樣在后面編譯Qt的時候才能打包編譯進去。
編譯安裝過程很簡單
首先需要檢查一下軟件是否安裝
sudo apt-get install automake
sudo apt-get install autogen
sudo apt-get install autoconf
確定以上工具都已經安裝后,解壓安裝即可。
#tar -zxvf tslib-1.4.tar.gz#cd tslib#./autogen.sh
#./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/usr/local/tslib
#make#make install
-prefix=/usr/local/tslib是指定安裝路徑,其實包括下文的安裝配置,路徑都可以不指定,默認就是安裝到/usr/local/目錄下
tslib的開發板移植與測試
將交叉編譯的tslib安裝到開發板上其實就是拷貝相關的文件并添加系統環境變量而已,所以相對操作較為簡單,主要的就是需要找對目錄就行。
按照上面的操作方法,交叉編譯安裝后的文件在/usr/local/tslib目錄下,因此需要拷貝的文件如下:
/usr/local/tslib/lib文件下除去pkgconfig目錄外其他所有文件拷貝到開發板/lib目錄下
/usr/local/tslib/etc下的ts.conf拷貝到開發板的/etc下,在復制對應目錄之前修改文件如下,也可以復制完成后修改。
下面是ts.conf文件的第一行與第二行
#Uncomment if you wish to use the linux input layer event interface#module_raw input
去掉# module_raw input前面的注釋,一定要注意中間的空格也去掉,module頂格。
最后添加環境變量,通過超級終端在開發板系統中添加環境變量,可以在開發板文件系統的/etc/profile文件里添加,也可以直接添加。
export TSLIB_TSDEVICE=/dev/input/touchscreen0
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
說明:
TSLIB_TSDEVICE //觸摸屏設備文件名。
TSLIB_CALIBFILE //校準的數據文件,由ts_calibrate校準程序生成。
SLIB_CONFFILE //配置文件名。
TSLIB_PLUGINDIR //插件目錄
TSLIB_CONSOLEDEVICE //控制臺設備文件名
TSLIB_FBDEVICE //設備名
以上環境變量在實際開發中的實際配置可以根據實際情況決定。而這些指定的設備節點一定要和你的開發板上的/dev目錄下的設備節點相對應。
最后運行測驗程序
ts_calibrate 進行校驗
ts_test 進行測試
測試結果如下圖所示:
說明:這個開發板的官方給的交叉編譯工具鏈是arm-2007q3,而我這里用的是OK6410開發板提供的工具鏈,這里使用暫時沒發現啥問題,不排除其他程序開發中可能存在啥問題。
總結
以上是生活随笔為你收集整理的qt 4.8.4 linux,Tslib和Qt 4.8.4与在开发板上的移植的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最小的linux内核编译,Linux最小
- 下一篇: linux imq原理图,编译IMQ模块