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

QT 桌面安裝與建立運(yùn)行環(huán)境

移動(dòng)開發(fā)
本文介紹的是QT 桌面安裝與建立運(yùn)行環(huán)境,關(guān)于Embedded相關(guān)內(nèi)容請?jiān)敿?xì)參考本文。我們先來看內(nèi)容。

QT 桌面安裝與建立運(yùn)行環(huán)境是本文介紹的內(nèi)容,在Trolltech公司的網(wǎng)站上可以下載該公司所提供的Qt/Embedded 的免費(fèi)版本,在安裝產(chǎn)品光盤以后,本次實(shí)驗(yàn)?zāi)夸浵乱延幸螺d的文件,在/arm2410s/gui/Qt/src 下。在做實(shí)驗(yàn)前把本次實(shí)驗(yàn)用到的三個(gè)文件拷貝到/root/2410sQt 目錄下。

  1. [root@BC root]#cd /root/  
  2. [root@BC root]#mkdir 2410sQt  
  3. [root@BC root]#cd /arm2410dev/gui/Qt/src  
  4. [root@BC src]#cp -arf tmake-1.13.tar.gz qt-embedded-2.3.10-free.tar.gz  
  5. qt-x11-2.3.2.tar.gz /root/2410sQt 

安裝編譯器arm-linux-gcc-3.4.1:

  1. [root@BC src]#cd /arm2410dev/gui/Qt/tools  
  2. [root@BC tools]#tar xjvf arm-linux-gcc-3.4.1.tar.bz2 -C ./  
  3. [root@BC tools]#vi /root/.bash_profile //打開文件 

將該文件中的PATH 變量改為PATH=$PATH:$HOME/bin:/arm2410s/gui/Qt/tools

  1. /usr/local/arm/3.4.1/bin/,存盤后退出。  
  2. [root@BC tools]# source /root/.bash_profile 

如果安裝正確的話,在任意路徑下輸入ar 后按Tab 鍵即可列出編譯器文件。

Qt/Embedded 平臺(tái)的搭建需要以下幾步:

***步,解壓安裝包并設(shè)置環(huán)境變量

安裝Tmake

  1. cd ~/2410sQt  
  2. tar –xzf tmake-1.13.tar.gz  
  3. export TMAKEDIR=$PWD/tmake-1.13 

安裝Qt 2.3.2

  1. cd ~/2410sQt  
  2. tar –xzf qt-x11-2.3.2.tar.gz  
  3. export QT2DIR=$PWD/qt-2.3.2 

安裝Qt/Embedded

  1. cd ~/2410sQt  
  2. tar –xzf qt-embedded-2.3.10-free.tar.gz  
  3. export QTEDIR=$PWD/qt-2.3.10 

環(huán)境變量的設(shè)置是非常重要的,它關(guān)系到能否正確的安裝及編譯這些安裝包,下面介紹一下這些環(huán)境變量:

  1. TMAKEDIR : 指向用于編譯Qt/Embedded 的Tmake 工具  
  2. QT2DIR : 指向qt-2.3.2 的文件夾  
  3. QTEDIR : 指向qt-2.3.10 的文件夾 

第二步,編譯Qt/Embedded。

1、Build Qt2.3.2

  1. cd $QT2DIR  
  2. export TMAKEPATH=$TMAKEDIR/lib/linux-g++  
  3. export QTDIR=$QT2DIR  
  4. export PATH=$QTDIR/bin:$PATH  
  5. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  
  6. ./configure -no-xft //出現(xiàn)選項(xiàng)時(shí)都輸入yes  
  7. make  
  8. cp –arf bin/uic $QTEDIR/bin/ 

./configure 是對Qt 進(jìn)行配置,它包括很多選項(xiàng),例如可以通過添加“ -no-opengl”等,如果想要進(jìn)一步了解可以通過鍵入 ./configure --help 來獲得更多的幫助信息。編譯完成后需要將生成的/bin/uic 復(fù)制到$QTEDIR 下新創(chuàng)建的目錄bin 中,因?yàn)樵陔S后編譯

Qt/Embedded 的時(shí)候會(huì)用到這個(gè)工具。

2、Build Qvfb

  1. export TMAKEPATH=$TMAKEDIR/lib/linux-g++  
  2. export QTDIR=$QT2DIR  
  3. export PATH=$QTDIR/bin:$PATH  
  4. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  
  5. cd $QTEDIR/tools/qvfb  
  6. /root/2410sQt/tmake-1.13/bin/tmake -o Makefile qvfb.pro  
  7. make  
  8. mv qvfb $QTEDIR/bin/ 

這一步build qvfb 并建立了從Qt/Embedded 2.3.10 到Qt 2.3.2 的靜態(tài)庫的鏈接。其中qvfb 工具用來生成Virtual framebuffer,這是一個(gè)非常有用的工具,它可以模擬在開發(fā)板上的顯示情況,如果在Virtual framebuffer 中運(yùn)行沒有問題的話,可以直接通過交叉編譯在開發(fā)板上運(yùn)行。

#p#
3、Build Qt/Embedded

  1. cd $QTEDIR  
  2. export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++  
  3. export QTDIR=$QTEDIR  
  4. export PATH=$QTDIR/bin:$PATH  
  5. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  
  6. ./configure -no-xft -qvfb -depths 4,8,16,32  
  7. yes  
  8.  
  9. 5  
  10. make 

在配置./configure 中-qvfb 用來支持Virtual framebuffer,-depths 4,8,16,32 支持4 位,8位,16 位,32 位的顯示深度,此外還可以添加如-syestem-jpeg 和-gif 來提供對jpeg 和gif的支持。配置系統(tǒng)同時(shí)還支持對特定平臺(tái)系統(tǒng)選項(xiàng)的添加,但一般來講,凡是支持framebuffer 的Linux 系統(tǒng)都可以使用“linux-generic-g++”平臺(tái)。詳細(xì)的配置信息可以通過運(yùn)行./configure --help 命令來查看。

第三步,查看運(yùn)行結(jié)果

如果上面各步都能夠成功的編譯通過,下面就可以通過運(yùn)行。Qt/Embedded 自帶的demo 來查看運(yùn)行結(jié)果。

在Virtual framebuffer 上運(yùn)行:

  1. export QTDIR=$QTEDIR  
  2. export PATH=$QTEDIR/bin:$PATH  
  3. export LD_LIBRARY_PATH=$QTEDIR/lib:$QT2DIR/lib:$LD_LIBRARY_PATH  
  4. cd $QTEDIR/examples/launcher  
  5. qvfb -width 640 -height 480 &  
  6. sleep 10  
  7. ./launcher -qws 

運(yùn)行結(jié)果如圖9-3:

QT 桌面安裝與建立運(yùn)行環(huán)境

圖9-3 Qt/Embedded Demo程序

將上面的步驟完成后,我們就已經(jīng)建立好了在本機(jī)上開發(fā)Qt 應(yīng)用程序的環(huán)境,下面我們通過編寫一個(gè)“Hello Embedded”的程序來了解Qt 程序設(shè)計(jì)。

  1. [root@BC qt-2.3.10]# cd /root/2410sQt/  
  2. [root@BC 2410sQt]# mkdir exp  
  3. [root@BC 2410sQt]# cd exp  
  4. [root@BC exp]# vi hello.cpp 

#p#

使用VI 編寫文件hello.cpp,程序代碼如下:

  1. //hello.cpp  
  2. #include <qapplication.h> 
  3. #include <qlabel.h> 
  4. int main(int argc, char **argv)  
  5. {  
  6. QApplication app (argc, argv);  
  7. QLabel *hello = new QLabel("Hello Qt/Embedded!", 0);  
  8. app.setMainWidget(hello);  
  9. hello->show();  
  10. return app.exec();  

現(xiàn)在開始逐行講解一下每一句是什么意思,掌握了這些以后可以幫助我們更加了解Qt的程序設(shè)計(jì)。

第1 行和第2 行包含了兩個(gè)頭文件,這兩個(gè)頭文件中包含了QApplication 和 QLabel類的定義。

第5 行創(chuàng)建了一個(gè)QApplication 對象,用于管理整個(gè)程序的資源,它需要2 個(gè)參數(shù),因?yàn)镼t 本身需要一些命令行的參數(shù)。

第6 行創(chuàng)建了一個(gè)用來顯示Hello Qt/Embedded!的部件。在Qt 中,部件是一個(gè)可視化用戶接口,按鈕、菜單、滾動(dòng)條都是部件的實(shí)例。部件可以包含其它部件,例如,一個(gè)應(yīng)
用程序窗口通常是一個(gè)包含QMenuBar、QToolBar、QStatusBar 和其它部件的一個(gè)部件。

在QLabel 函數(shù)中的參數(shù)0 表示,這是一個(gè)窗口而不是嵌入到其它窗口中的部件。

第7 行設(shè)置hello 部件為程序的主部件,當(dāng)用戶關(guān)閉主部件后,應(yīng)用程序?qū)?huì)被關(guān)閉。如果沒有主部件的話,即使用戶關(guān)閉了窗口程序也會(huì)在后臺(tái)繼續(xù)運(yùn)行。

第8 行使hello 部件可視,一般來說部件被創(chuàng)建后都是被隱藏的,因此可以在顯示前根據(jù)需要來訂制部件,這樣的好處是可以避免部件創(chuàng)建所造成的閃爍。

第9 行把程序的控制權(quán)交還給Qt,這時(shí)候程序進(jìn)入就緒模式,可是隨時(shí)被用戶行為激活,例如點(diǎn)擊鼠標(biāo)、敲擊鍵盤等。

下面我們要讓我們的程序跑起來,首先要讓它能夠在Virtual framebuffer 中顯示出來,然后再通過交叉編譯在開發(fā)板上運(yùn)行。

要在本機(jī)的Virtual framebuffer 中顯示結(jié)果,下面幾步是必須的:

1.生成工程文件(.pro)

每一個(gè)Qt 程序都對應(yīng)著一個(gè)工程文件,因?yàn)閠make 工具要借此工程生成相應(yīng)的Makefile 文件。生成工程文件需要使用progen 工具,它的位置在$TMAKEDIR/bin 下,使用progen 生成工程文件的方法如下:

  1. $TMAKEDIR/bin/progen –t app.t –o hello.pro 

生成的這個(gè)hello.pro 工程文件是可以被修改的,可以編輯里面的頭文件、源文件等內(nèi)容。

2.生成Makefile 文件

Qt 提供了生成Makefile 文件的工具tmake,這極大地方便了應(yīng)用程序的開發(fā),節(jié)省了大量的時(shí)間,而且還可根據(jù)不同平臺(tái)的需要生成適合于不同平臺(tái)的Makefile 文件。

在使用tmake 工具前,必須查看相應(yīng)的環(huán)境變量是否正確,由于我們要編譯在本機(jī)上運(yùn)行的Qt 程序,所以指定的編譯器應(yīng)該為“linux-x86-g++”,在命令行中輸入下面的命令
來檢查環(huán)境變量是否正確:

  1. echo $TMAKEPATH 

查看返回的結(jié)果的結(jié)尾字符是否是“……/qws/linux-x86-g++”,如果不是的話需要在命令行中重新設(shè)置TMAKEPATH

  1. export TMAKEPATH=/tmake 的安裝路徑(如$TMAKEDIR)/lib/qws/linux-x86-g++ 

此外還要使QTDIR 指向Qt/Embedded 的安裝路徑,如:

  1. export QTDIR=$QTEDIR 或者直接指定路徑  
  2. export QTDIR=……/qt-2.3.10 

完成了上面的環(huán)境變量的設(shè)置,并用echo 命令檢查無誤以后,就可以使用tmake 工具來生成我們需要的Makefile 文件,在命令行中輸入如下命令:

  1. $TMAKEDIR/bin/tmake –o Makefile hello.pro 

完成上面的步驟以后就可以在當(dāng)前的目錄中生成一個(gè)Makefile 文件,關(guān)于Makefile文件的功能和結(jié)構(gòu)這里就不再做過多的介紹了,可以參考前面的章節(jié)來了解Makefile。

***在命令行中輸入 “make”命令就可以對整個(gè)程序進(jìn)行編譯鏈接了,最終生成了一

個(gè)二進(jìn)制的可執(zhí)行文件hello。用Virtual framebuffer 顯示效果如下:

QT 桌面安裝與建立運(yùn)行環(huán)境


 
圖9-4 Hello Embedded

我們可以通過對QLabel *hello = new QLabel("Hello Qt/Embedded!", 0)這句進(jìn)行修改,使我們的程序顯示起來更為美觀,修改如下:

  1. QLabel *hello=new QLabel("<h2><fontcolorfontcolor=blue>Hello" "<i>Qt/Embedded!</i> </font> </h2>", 0); 

修改后顯示效果如圖所示:

QT 桌面安裝與建立運(yùn)行環(huán)境


 
圖9-5 修改后Hello Embedded

小結(jié):關(guān)于QT 桌面安裝與建立運(yùn)行環(huán)境的內(nèi)容介紹完了,希望本文對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-04 14:58:56

Qt 桌面 qvfb

2011-07-04 15:48:57

Qt 桌面

2011-06-20 09:06:05

Qt Qtopia

2011-06-23 16:24:21

Qt Embedded 交叉編譯

2011-06-14 09:04:52

Qt 環(huán)境變量

2011-06-13 13:35:06

Qt Embedded QT

2011-07-02 14:11:46

Qt Gtk Ubuntu

2010-01-07 10:04:49

Ubuntu圖形

2010-09-17 16:54:26

Java運(yùn)行環(huán)境

2011-06-13 15:33:24

Qt Qt 4.5

2009-06-22 11:13:00

linuxJava運(yùn)行環(huán)境

2011-09-07 16:00:28

Ubuntunetbook桌面環(huán)境

2011-06-28 10:20:19

Ubuntu Qt Designer

2011-06-17 08:59:27

QT Embedded Arm

2011-06-13 13:06:48

Gtk Qt

2011-03-18 20:13:01

QtUbuntu

2011-07-01 13:15:50

Ubuntu QT Eembedded

2018-09-30 10:35:29

UbuntuCinnamon桌面環(huán)境

2010-03-01 16:51:53

CentOS VMwa

2013-02-25 17:33:07

Linux桌面
點(diǎn)贊
收藏

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