歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 10.04下移植QtE

Ubuntu 10.04下移植QtE

日期:2017/2/28 16:20:17   编辑:Linux教程

最近弄QTE的移植,真是不勝其煩。現在把他整理出來,作為分享。

首先是軟件包的各個版本

Ubuntu 10.04

qt-everywhere-opensource-src-4.6.3.tar.gz

arm-linux-gcc-3.4.1.tar.bz2

qt-sdk-linux-x86-opensource-2010.04.bin

tslib-1.4.tar.gz

一.選擇交叉編譯器

我 不知道,移植QT對交叉編譯器有固定的版本要求。我查了很多資料,也沒得到個什麼確切的說法。比較靠譜的一個說法是“ arm-linux-gcc 3.4.1算是一個已經比較舊的版本了,現在我們在Linux 2.6.29環境下,用的是4.3.2的編譯器。不過,因為還有一個S3C2410 + Linux 2.4.18的產品線,所以仍然沒有捨棄 3.4.1。 ”。而且在其他參數配置相同的情況下,我用自己編譯的arm-softfloat-linux-gnu-gcc 3.4.5總是會提示這樣那樣的錯誤。對此我辦法解釋,只好用arm-linux-3.4.1.

安裝arm-linux-3.4.1。這個比較簡單:

(1). 解壓

#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2 得到一個usr文件夾。

(2) .添加環境變量:

#vi /etc/bash.bashrc

在末尾加上:export PATH=$PATH:/*解壓所在文件夾*/usr/local/arm/3.4.1/bin:

(3). 使新的環境變量生效:

#source /etc/bash.bashrc

(4). 檢查路徑是否設置正確:

#echo $PATH

(5) . 檢查交叉編譯工具是否安裝成功:

#arm-linux-gcc -v

出現版本信息就OK了

二 .編譯tslib1.4

(1)解壓源代碼:

tar zxvf tslib-1.4.tar.gz

cd tslib-1.4

(2)安裝一些工具:

sudo apt-get install automake libtool

(3)執行腳本生成configure文件

./autogen.sh

(4)執行configure生成Makefile文件

echo “ac_cv_func_malloc_0_nonnull=yes”>$ARCH-linux.cache

./configure --host=arm-linux --cache-file=$ARCH-linux.cache --prefix=/home/linux/tslib-3.4.1

(5)編譯安裝

make

make install

(6)拷到板子文件系統上

cp -a /home/linux/tslib-3.4.1 /source/rootfs

(7)修改ts.conf文件

vim ts.conf

將第二行的#module_raw input的"#"去掉,並使 module_raw input頂格。

(8)設置開發板的環境變量。這裡寫成腳本文件

vim qtsetenv.sh

export TSLIB_ROOT=/tslib-3.4.1

export TSLIB_TSDEVICE=/dev/event0

export TSLIB_CONFFILE=/tslib-3.4.1/etc/ts.conf

export TSLIB_PLUGINDIR=/tslib-3.4.1/lib/ts

export TSLIB_CALIBFILE=/etc/pointercal

export POINTERCAL_FILE=/etc/pointercal

export TSLIB_FBDEVICE=/dev/fb0

export QWS_SIZE=320x240

export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"

export LD_LIBRARY_PATH=/tslib-3.4.1/lib:$LD_LIBRARY_PATH

export QWS_MOUSE_PROTO=Tslib:/dev/event0

export TSLIB_CONSOLEDEVICE=none

export TSLIB_TSEVENTTYYPE=H3600i

(9)測試。可以運行/tslib/bin下的測試文件了。

Copyright © Linux教程網 All Rights Reserved