自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ubuntu10.04下如何移植QtE?

運(yùn)維 系統(tǒng)運(yùn)維
Ubuntu的所有發(fā)行版本都可以免費(fèi)獲取,所以使用Ubuntu系統(tǒng)的用戶也越來(lái)越多。下文是介紹Ubuntu10.04下如何移植QtE的方法,具體內(nèi)容如下所述。

Ubuntu的所有發(fā)行版本都可以免費(fèi)獲取,所以使用Ubuntu系統(tǒng)的用戶也越來(lái)越多。下文是介紹Ubuntu10.04下如何移植QtE的方法,具體內(nèi)容如下所述。

最近弄QTE的移植,真是不勝其煩?,F(xiàn)在把他整理出來(lái),作為分享。

首先是軟件包的各個(gè)版本

Ubuntu10.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對(duì)交叉編譯器有固定的版本要求。我查了很多資料,也沒(méi)得到個(gè)什么確切的說(shuō)法。比較靠譜的一個(gè)說(shuō)法是“arm-linux-gcc3.4.1算是一個(gè)已經(jīng)比較舊的版本了,現(xiàn)在我們?cè)贚inux2.6.29環(huán)境下,用的是4.3.2的編譯器。不過(guò),因?yàn)檫€有一個(gè)S3C2410+Linux2.4.18的產(chǎn)品線,所以仍然沒(méi)有舍棄3.4.1。”。而且在其他參數(shù)配置相同的情況下,我用自己編譯的arm-softfloat-linux-gnu-gcc3.4.5總是會(huì)提示這樣那樣的錯(cuò)誤。對(duì)此我辦法解釋?zhuān)缓糜胊rm-linux-3.4.1.

安裝arm-linux-3.4.1。這個(gè)比較簡(jiǎn)單:

(1).解壓

#tar-jxvfarm-linux-gcc-3.4.1.tar.bz2得到一個(gè)usr文件夾。

(2).添加環(huán)境變量:

#vi/etc/bash.bashrc

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

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

#source/etc/bash.bashrc

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

#echo$PATH

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

#arm-linux-gcc-v

出現(xiàn)版本信息就OK了

二.編譯tslib1.4

(1)解壓源代碼:

tarzxvftslib-1.4.tar.gz

cdtslib-1.4

(2)安裝一些工具:

sudoapt-getinstallautomakelibtool

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

./autogen.sh

(4)執(zhí)行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)編譯安裝

 

  1. make  
  2.  
  3. makeinstall 

 

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

 

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

 

(7)修改ts.conf文件

 

  1. vimts.conf 

 

將第二行的#module_rawinput的"#"去掉,并使module_rawinput頂格。

(8)設(shè)置開(kāi)發(fā)板的環(huán)境變量。這里寫(xiě)成腳本文件

 

  1. vimqtsetenv.sh  
  2.  
  3. exportTSLIB_ROOT=/tslib-3.4.1  
  4.  
  5. exportTSLIB_TSDEVICE=/dev/event0  
  6.  
  7. exportTSLIB_CONFFILE=/tslib-3.4.1/etc/ts.conf  
  8.  
  9. exportTSLIB_PLUGINDIR=/tslib-3.4.1/lib/ts  
  10.  
  11. exportTSLIB_CALIBFILE=/etc/pointercal  
  12.  
  13. exportPOINTERCAL_FILE=/etc/pointercal  
  14.  
  15. exportTSLIB_FBDEVICE=/dev/fb0  
  16.  
  17. exportQWS_SIZE=320x240 
  18.  
  19. exportQWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0" 
  20.  
  21. exportLD_LIBRARY_PATH=/tslib-3.4.1/lib:$LD_LIBRARY_PATH  
  22.  
  23. exportQWS_MOUSE_PROTO=Tslib:/dev/event0  
  24.  
  25. exportTSLIB_CONSOLEDEVICE=none 
  26.  
  27. exportTSLIB_TSEVENTTYYPE=H3600i 

 

(9)測(cè)試。可以運(yùn)行/tslib/bin下的測(cè)試文件了。

三.編譯和安裝QTE

移植QTE,一般要安裝3個(gè)版本,一個(gè)PC機(jī)上的,一個(gè)ARM板子上的,一個(gè)是沒(méi)有ARM板子時(shí)候仿真用的x86版。

1.首先安裝PC版。

這個(gè)版本安裝方法不少,有的使用qt-sdk-linux-x86-opensource-2010.04.bin,有的使用qt-x11-opensource-src-4.5.0.tar.bz2這樣的文件,在Ubuntu下甚至可以方便的使用apt-get:sudoapt-getinstallqt4-dev-toolsqt4-docqt4-qtconfigqt4-demosqt4-designer,這樣獲取文件和庫(kù)的最全,designer還是中文界面,不要環(huán)境設(shè)置等等。但是仍有所不便。這里使用bin文件。

(1)進(jìn)入qt-sdk-linux-x86-opensource-2010.04.bin所在目錄,設(shè)置該文件的權(quán)限為可執(zhí)行.

 

  1. chmod+xqt-sdk-x86-opensource-2010.04.bin 

 

(2)安裝qt-sdk-linux-x86-opensource-2010.04.bin

 

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

 

按默認(rèn)設(shè)置安裝就行。安裝路徑我設(shè)置為:/host/mylinux/QT/qtsdk-2010.04

(3)設(shè)置環(huán)境變量

這里也可以設(shè)置腳本文件,方便不同版本的qmake.但是這里奇怪的是,我的腳本文件運(yùn)行了沒(méi)效果,不知道怎么搞的。我只好寫(xiě)進(jìn)系統(tǒng):

 

  1. vim/etc/profile 

 

在末尾添加:

QTDIR=/host/mylinux/QT/qtsdk-2010.04/qt-//這是設(shè)置QT的所在的路徑

exportPATH=$QTDIR/bin:$PATH//設(shè)置QT可執(zhí)行命令的目錄

exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH//設(shè)置QT庫(kù)文件目錄

(4)建立helloworld工程,測(cè)試qt。

由于Ubuntu10.04系統(tǒng)不帶g++編譯器,而qt需要用到g++編譯器,我們需要自行安裝g++:

 

  1. sudoapt-getinstallg++ 

 

編寫(xiě)一個(gè)hello.cpp文件(放在一個(gè)hello的目錄里)

Hello.cpp內(nèi)容:

 

  1. #include  
  2.  
  3. #include  
  4.  
  5. intmain(intargc,char*argv[])  
  6.  
  7. {  
  8.  
  9. QApplicationapp(argc,argv);  
  10.  
  11. QLabel*label=newQLabel("helloqt");  
  12.  
  13. label->resize(200,100);  
  14.  
  15. label->show();  
  16.  
  17. returnapp.exec();  
  18.  

 

然后在hello這個(gè)文件下依次:qmake-projct,qmakehello.pro,make,生成一個(gè)hello可執(zhí)行文件,運(yùn)行以下,應(yīng)該可以看見(jiàn)一個(gè)簡(jiǎn)單的對(duì)話框。

(5)如果要安裝qtEforx86的話,這里還要編譯qvfb.

(a).首先補(bǔ)充一些庫(kù)文件

 

  1. sudoapt-getinstalllibpng-devlibx11-devlibglui-devxorg-dev 

 

(b).添加一些頭文件

將/host/mylinux/QT/qtsdk-2010.04/qt/tools/shared/deviceskin/下deviceskin.h,deviceskin.cpp都拷到/host/mylinux/QT/qtsdk-2010.04/qt/toolsqvfb文件夾下面.

(c).qmake-projectqmakeqvfb.pro

(d).修改Makefile文件,在LIBS選項(xiàng)后面添加-lXtst,注意哦:l是小寫(xiě),X是大寫(xiě)。

(e)make

2.安裝x86+qvfb版

參數(shù)沒(méi)有配置成功,先空著

3.安裝arm版

無(wú)論是x86還是arm步驟說(shuō)起來(lái)很簡(jiǎn)單,三板斧(configure,make,makeinstall),但是麻煩在configure的參數(shù),極其變態(tài)。不僅僅多,復(fù)雜,而且往往別人編譯可以用的參數(shù)配置到你這里就偏偏不能用。當(dāng)然作為我們初學(xué)者,“盈科而進(jìn)”的學(xué)習(xí)是比較踏實(shí)的,一步一個(gè)坑,每個(gè)坑都吃透了。但我相信很少人能這么做。參數(shù)本書(shū)并不是什么很難的東西,偏偏是環(huán)境不一樣,參數(shù)配置還不一樣。我問(wèn)過(guò)很多人,他們的參數(shù)都是自己試過(guò)成功的,偏偏我拿過(guò)來(lái)不能用。最叫人火大的是make這一步時(shí)間很長(zhǎng),我的機(jī)器比較好的,3G的內(nèi)存,別的什么都不開(kāi)也要將近兩個(gè)小時(shí)。你等了一個(gè)多小時(shí)后他才會(huì)給出錯(cuò)誤代碼,效率太低了。

我的步驟:

(1)解壓tarzxvfqt-everywhere-opensource-src-4.6.3.tar.gz,

(2)然后進(jìn)入cdqt-everywhere-opensource-src-4.6.3.

(3)configure

 

  1. ./configure-prefix/host/mylinux/QT/qt-embedded-4.6.3-arm-debug-and-release-qt3support-qt-zlib-qt-libtiff-qt-libpng-qt-libmng-qt-libjpeg-makelibs-nomakeexamples-nomakedemos-nomakedocs-no-cups-iconv-xplatformqws/linux-arm-g++-embeddedarm-little-endian-qt-freetype-depths8,16,24,32-qt-gfx-linuxfb-no-gfx-transformed-no-gfx-qvfb-no-gfx-vnc-no-gfx-multiscreen-no-dbus-qt-sql-sqlite-qt-kbd-qvfb-qt-kbd-tty-qt-mouse-pc-no-glib-plugin-mouse-tslib-I/source/rootfs/tslib-3.4.1/include-L/source/rootfs/tslib-3.4.1/lib-D__ARM_ARCH_5TEJ__ 

 

這里有幾點(diǎn)要注意:-D__ARM_ARCH_5TEJ__和-little-endian少了我是通不過(guò),如果你沒(méi)加并且有幸出錯(cuò),百度或者google一下錯(cuò)誤代碼,應(yīng)該能查的到。網(wǎng)上有大量的資料里這兩都沒(méi)加也通過(guò),這正是叫人郁悶的地方。這個(gè)參數(shù)配置來(lái)自。qt-everywhere-opensource-src是4.6.0的。參數(shù)解釋也可以看他的。

這里還會(huì)有兩個(gè)選擇界面,一個(gè)選擇o,即是選擇開(kāi)源協(xié)議,一個(gè)接受協(xié)議,填寫(xiě)yes。

(4)make然后是漫長(zhǎng)的等待,1~2個(gè)小時(shí)。

(5)最后sudomakeinstall.一定要sudo。

(6)設(shè)置環(huán)境變量

這里也可以設(shè)置腳本文件,方便不同版本的qmake.寫(xiě)進(jìn)系統(tǒng)(和上面的不能同時(shí)共存):

 

  1. vim/etc/profile 

 

在末尾添加:

QTDIR=/host/mylinux/QT/qt-embedded-4.6.3-arm-//這是設(shè)置QT的所在的路徑

exportPATH=$QTDIR/bin:$PATH//設(shè)置QT可執(zhí)行命令的目錄

exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH//設(shè)置QT庫(kù)文件目錄

(7)將安裝好的qt-embedd-4.6.3-arm(全拷?????標(biāo)記一下)拷入arm板子的文件系統(tǒng)/source/rootfs/QT下,

(8)添加tslib環(huán)境腳本對(duì)QTE相關(guān)項(xiàng)

 

  1. vimqtsetenv.sh  
  2.  
  3. exportsetQTDIR=/QT/qt-embedd-4.6.3-arm  
  4.  
  5. exportsetQTEDIR=/QT/qt-embedded-4.6.3-arm  
  6.  
  7. exportPATH=$PATH:$QTDIR/bin  
  8.  
  9. exportQT_QWS_FONTDIR=$QPEDIR/lib/fonts  
  10.  
  11. exportQT_PLUGIN_PATH=$QTDIR/plugins/ 

 

暫時(shí)到這里,還有問(wèn)題沒(méi)有解決,一個(gè)x86+qvfb的安裝,一個(gè)在板子上運(yùn)行編好的可執(zhí)行文件總提示找不到庫(kù),還有就是PC機(jī)上運(yùn)行腳本不起作用,等有空再說(shuō)。

總結(jié):

希望本文介紹的Ubuntu10.04下移植QtE的方法能夠?qū)ψx者有所幫助,更多有關(guān)linux系統(tǒng)的知識(shí)還有待于讀者去探索和學(xué)習(xí)。

【編輯推薦】

  1. Ubuntu10.10如何取消交換設(shè)備?
  2. Ubuntu 11.10 beta1十大功能圖解
  3. 教大家把Ubuntu界面改造成Windows7系統(tǒng)
  4. Ubuntu10.04上如何搭建iPhone開(kāi)發(fā)環(huán)境?
  5. Ubuntu使用PPA安裝最新Plymouth管理器的方法
責(zé)任編輯:韓亞珊 來(lái)源: 雨木林風(fēng)
相關(guān)推薦

2011-09-07 16:43:10

ubuntuwindowsXP

2011-03-21 16:37:57

2011-08-30 10:37:27

UbuntuJAVA

2011-09-07 10:58:19

UbuntuMySQL

2011-03-14 10:30:15

Ubuntu10.04LAMP

2011-08-30 10:52:47

UbuntuOracle11g

2011-08-29 15:23:11

Ubuntuapache

2011-08-30 14:58:26

Ubuntu

2011-08-29 11:32:44

UbuntuiPhone

2011-08-29 14:40:04

UbuntuAndroid

2011-08-30 11:21:59

UbuntuGoogle

2011-09-07 14:31:59

ubuntu屏幕亮度

2011-08-30 16:17:47

UbuntuAndroid

2011-08-22 18:03:32

Ubuntupdnsd

2010-03-16 10:52:20

Ubuntu10.04

2011-08-30 17:12:27

Ubuntuwindows7

2010-07-13 09:46:09

TomcatUbuntu 10.0

2011-08-30 11:14:15

Ubuntu

2011-04-22 11:03:39

Ubuntufirefox

2011-04-22 16:14:37

UbuntuMediaWiki
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)