qt-embedded-linux-opensource-src-4.5.3移植到s3c6410
首先要有配置好的環(huán)境,本文使用的編譯環(huán)境如下:
主機(jī)系統(tǒng):Ubuntu 9.10
主機(jī)編譯器:gcc 版本 4.4.1
交叉編譯器:arm-linux-gcc-4.0.1
軟件資源:qt-embedded-linux-opensource-src-4.5.3.tar.gz?qt-x11-opensource-src-4.5.1.tar.gz
?
移植過程:
平時(shí)程序都是在PC上完成的,所以我們需要先安裝X11版的Qt來獲得qvfb這個(gè)工具。嵌入式的開發(fā)有了qvfb,就可以不需要實(shí)際的開發(fā)板,也可以開發(fā)Qt應(yīng)程序。
qt-x11-opensource-src-4.5.1編譯安裝過程:
1.解壓文件
將qt-x11-opensource-src-4.51.tar.gz復(fù)制到/root/local/qt目錄下,進(jìn)行解壓,在終端中進(jìn)行如下操作:
#cd /root/local/qt
#tar zxvf qt-x11-opensource-src-4.5.1.tar.gz
解壓完成后,得到/usr/local/qt/qt-x11-opensource-src-4.5.1目錄。下面就開始進(jìn)行編譯了。
2.編譯及安裝qt-x11-opensource-src-4.5.1
進(jìn)入/usr/local/qt/qt-x11-opensource-src-4.5.1目錄,進(jìn)行編譯安裝。在終端中進(jìn)行如下操作:
#./configure –qvfb
#make
#cd tools/qvfb
#make
#cd ../..
#make install
3.復(fù)制文件
make install 完 成后,會在/usr/local目錄下生成一個(gè)Trolltech目錄,形成/usr/local/Trolltech目錄,這是qt-x11- opensource-src-4.5.1安裝后所在的目錄,進(jìn)入/usr/local/Trolltech會看到一個(gè)Qt-4.5.1的目錄,將 /usr/local/qt/qt-x11-opensource-src-4.5.1/tools/qvfb目錄下的qvfb相關(guān)文件拷貝到/usr /local/Trolltech/Qt-4.5.1/bin目錄下,在終端中操作(確定當(dāng)前目錄是/usr/local/qt/qt-x11- opensource-src-4.5.1):
#cp tools/qvfb/qvfb* /usr/local/Trolltech/Qt-4.5.1/bin
?
qt-embedded-linux-opensource-src-4.5.1編譯安裝過程,為了程序開發(fā)的便捷性,我安裝了x86版和arm版,先在PC上使用x86版和qvfb開發(fā),完成以后再使用arm版交叉編譯放到開發(fā)版上運(yùn)行。
編譯及安裝qt-x11-opensource-src-4.5.1-arm
安裝這個(gè)是最為關(guān)鍵的,因?yàn)榫幾g好后要把lib拷貝到板子上
對于觸摸屏幕,我使用的是 tslib1.4
交叉編譯tslib過程如下:
解壓到/home下
#./autogen.sh
#./configure --prefix=/home/duancp/mytslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes (可以先生成個(gè)cache文件)
#make
#make install-strip //生成瘦身應(yīng)用程序和庫
編譯qt-x11-opensource-src-4.5.1-arm
進(jìn)入/usr/local/qt/qt-x11-opensource-src-4.5.1-arm目錄,進(jìn)行編譯安裝。在終端中進(jìn)行如下操作:
./configure -prefix /usr/local/QtEmbedded-4.5.2 -embedded arm -no-webkit -qt-mouse-tslib
在?qws/linux-arm-g++/qmake.conf中添加:
QMAKE_INCDIR = tslib -build/include # path to compiled includes
QMAKE_LIBDIR = tslib -build/lib # path to compiled libs
#make
#make install
漫長的編譯結(jié)束后將在主機(jī)(Ubuntu)下的/usr/local/QtEmbedded-4.5.2 得到編譯后的結(jié)果。
設(shè)置在ARM中運(yùn)行時(shí)的環(huán)境變量
上面步驟之后已經(jīng)得到了可用的 Qte,把整個(gè) QtEmbedded-4.5.2 目錄復(fù)制到板子根目錄
的/usr/local/路徑下。接著在板子的/usr/local/QtEmbedded-4.5.2 中添加腳本文件setenv-arm.sh,
添加如下內(nèi)容:
?
export QTDIR=/usr/local/QtEmbedded-4.5.2
export QPEDIR=/usr/local/QtEmbedded-4.5.2
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export QT_QWS_FONTDIR=/usr/local/QtEmbedded-4.5.2/lib/fonts
export QWS_MOUSE_PROTO="TSLIB:/dev/input/event1 USB:/dev/input/mice"
export QWS_SIZE='480x272'
export QWS_KEYBOARD=TTY:/dev/tty1
?
不過為了防止權(quán)限不足的問題,在主機(jī)上先給與這個(gè)文件可執(zhí)行屬性:
sudo chmod 777 setenv-arm.sh
注意紅色部分字體的設(shè)置是非常重要的,主要是指定觸摸屏的工作參數(shù)。最后一句是自
動運(yùn)行特定的程序,保存退出,并進(jìn)入板子 shell 界面執(zhí)行這個(gè)腳本:
cd /usr/local/QtEmbedded-4.5.2
./setenv-arm.sh
接著便可以運(yùn)行一下自帶的那些測試程序了:
/usr/local/QtEmbedded-4.5.2/examples/graphicsv
iew/collidingmice/collidingmice -qws -fn wenquanyi
?
注意:需要提醒用戶注意的是,qtopia-2.2.0 的運(yùn)行和 Qte-4.5.2 的運(yùn)行需要設(shè)置不同的
環(huán)境變量,因此最好保證兩者沒有同時(shí)運(yùn)行。如果系統(tǒng)中已經(jīng)運(yùn)行了 qtopia-2.2.0,請使用
kill 命令將 qtopia 相關(guān)的進(jìn)程都?xì)⑺馈?/span>
本文轉(zhuǎn)自feisky博客園博客,原文鏈接:http://www.cnblogs.com/feisky/archive/2010/05/30/1747480.html,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的qt-embedded-linux-opensource-src-4.5.3移植到s3c6410的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: solidworks——铝型材画法
- 下一篇: linux 其他常用命令