歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Ubuntu 10.10 安裝 QT-embedded 開發環境

對於安裝QT,一直糾結了很久很久。。。折騰了很久很久,連續一周,一天到晚都在摸索,不停地編譯配置,不停地重做、撤銷,到目前為止還不知道問題有沒有徹底解決,先記錄一下,後續遇到問題再修正今天的文章。

我的安裝平台:

1.虛擬機VMware 7.0

2.嵌入式系統Ubuntu 10.10

2.交叉編譯工具:arm-linux-gcc-4.3.2

3.QT安裝包:

1)QT-X11-SDK簡稱做QT-X11:qt-sdk-linux-x86-opensource-2010.05.1.bin (其實就是Qt Creator !)

這是直接下載的編譯好的二進制SDK包;其實也可以下載源代碼包src然後再編譯安裝,網上有好多文章都是由源代碼包編譯後再安裝的,在NOKIA官網上4.7.2版本的沒有發現有源代碼包。但是安裝二進制文件可以節省編譯時間和空間。安裝好二進制文件之後仍需要獨立編譯QVFB。其實這個sdk包是QT Creator!一個IDE集成開發環境!可以省去你在終端中用命令行來編譯和調試!但是有時候你也許會發現用命令行更爽!

2)Qt Embedded for Linux簡稱做QTE:qt-everywhere-opensource-src-4.7.2.tar.gz是源代碼包;

                   

說明:其中QT-X11可以產生Qt開發工具,如qmake 、designer等等,最重要的是可以得到qvfb(因為sdk中並沒有為什麼編譯好,所以qvfb的編譯安裝需要我們自己進行參見下一篇)。嵌入式的開發有了qvfb,就可以不需要實際的開發板,也可以開發Qt應用程序。QTE版本就是專門用於嵌入式開發的版本。所以我們需要分別編譯運行於X86架構和arm架構的QT!

這兩個安裝包都可以直接在xp環境下下載,下載較快,然後放到虛擬機ubuntu裡面。

下面開始安裝:

1.建立目錄

首先在/home/fengchao目錄下新建/qtenv文件夾為了文件管理方便,再在qtenv下分別建立三個文件夾:arm,x86,qtsdk;使用mkdir命令或者直接在目錄下右鍵新建。

qtsdk用於安裝QT-X11;

arm用於存放QTE的arm版本;

x86用於存放QTE的x86版本。

2.安裝QT-X11:

qt-sdk-linux-x86-opensource-2010.05.1.bin放在/qtsdk文件夾中

$ cd ~/qtenv/qtsdk
 
$ chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin
 
$ ./qt-sdk-linux-x86-opensource-2010.05.1.bin

之後開始圖形化的安裝,像在xp環境安裝軟件一樣,然後選擇安裝目錄為/home/fengchao/qtenv/qtsdk,一路NEXT。

3.解壓QTE源代碼包

1)將源代碼包分別復制到/arm和/x86下:

直接在目錄下復制即可,不必使用命令行操作。

2)解壓縮:

$ cd qtenv/arm

$ tar xzvf qt-everywhere-opensource-src-4.7.2.tar.gz

(解壓gz文件用xzvf,解壓bz2 文件用xjvf)
$ mv qt-everywhere-opensource-src-4.7.2 arm

(把/qt-everywhere-opensource-src-4.7.2目錄下的文件放到/arm文件夾下,即改名為arm,方便輸入)

$ cd qtenv/x86

$ tar xzvf qt-everywhere-opensource-src-4.7.2.tar.gz

 (解壓gz文件用xzvf,解壓bz2 文件用xjvf)
$ mv qt-everywhere-opensource-src-4.7.2 x86

(把/qt-everywhere-opensource-src-4.7.2目錄下的文件放到/x86文件夾下,即改名為x86,方便輸入)

4.解壓縮後分別針對arm平台和x86平台進行編譯配置

編譯arm版本的QT

 

$ cd ~/qtenv/arm
$ ./configure -prefix $HOME/qtenv/arm -embedded arm -nomake docs -nomake demo -nomake examples
$ sudo make
$ sudo make install

編譯x86版本的QT

$ cd ~/qtenv/x86

$ ./configure -prefix $HOME/qtenv/x86 -embedded x86 -nomake docs -nomake demo -nomake examples -qvfb
$ sudo make
$ sudo make install

sudo 獲得root權限,否則可能出錯。

此過程花費過多時間,大概幾個小時左右,視電腦配置而定。

此過程出現錯誤較多,都可以解決,要有耐性。。。

此編譯工程中,編譯arm版本的工具是arm-linux-g++、編譯x86版本的工具是g++;編譯的時候注意查看是否正確!我就犯過這樣的錯誤,把上面的編譯指令輸錯!導致後面更多的莫名其妙的錯誤!不得不重新來過!

技巧:

1)configure之後想清除重新來過,使用make confclean,再重新configure即可

2)make之後想清除重新來過,使用make clean,再make 

5.最後是環境變量的設置

這個也是非常重要的一步,前面說的目錄管理,在這一步顯的非常重要了

我的處理方法是:在各文件夾下新建shell腳本文件。

1)QT-X11:

$ cd qtenv/qtsdk

$ sudo gedit setenv.sh

添加如下內容:

PATH=/home/fengchao/qtenv/qtsdk/qt/bin:$PATH

LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/lib:$LD_LIBRARY_PATH

 

export PATH

export LD_LIBRARY_PATH

保存退出,文件放在qtenv/qtsdk下!

2)x86:

$ cd qtenv/x86

$ sudo gedit setenv.sh

添加如下內容:

QTEDIR=/home/fengchao/qtenv/qtsdk/x86

PATH=/home/fengchao/qtenv/qtsdk/x86/bin:$PATH

LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/x86/lib:$LD_LIBRARY_PATH

export QTEDIR

export PATH

export LD_LIBRARY_PATH

保存退出文件放在qtenv/x86下!

3)arm:

$ cd qtenv/arm

$ sudo gedit setenv.sh

添加如下內容:

QTEDIR=/home/fengchao/qtenv/qtsdk/arm

PATH=/home/fengchao/qtenv/qtsdk/arm/bin:$PATH

LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/arm/lib:$LD_LIBRARY_PATH

export QTEDIR

export PATH

export LD_LIBRARY_PATH

保存退出文件放在qtenv/arm下!

在運行的時候分別運行對應的腳本即可,比如我們要用QT-X11:

cd /qtenv/qtsdk

source setenv.sh

然後就可以用qmake designer等工具了.

注意:通過運行這幾個shell腳本來改變環境變量。整個環境變量的改變只有在當前的終端下才有效。當打開其他終端後,必須重新執行對應的shell腳本。

對應所在的路徑,在大家的機器上可能不盡相同,領會意思就行。

6.下面如何編譯QVFB?

請參考我的下一篇文章 http://www.linuxidc.com/Linux/2011-05/36011.htm

Copyright © Linux教程網 All Rights Reserved