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

深度解析 Qt 4.5.3 移植全過程

移動開發(fā)
本文介紹的是Qt 4.5.3 移植全過程,QT 4.5是開跨平臺GUI應(yīng)用程序的理想選擇,先來看內(nèi)容。

Qt 4.5.3 移植全過程是本文要介紹的內(nèi)容,在概述也提到了QT 4.5是開跨平臺GUI應(yīng)用程序的理想選擇,那么在本文主要是講開發(fā)環(huán)境,先來看本文。

1、安裝交叉編譯環(huán)境

(1)下載arm-linux-gcc-3.4.1.tar.bz2(建議用的這個版本的,有些低版本的交叉編譯工具在編譯時會出錯)

arm-linux-gcc-3.4.1.tar.bz2 的下載地址如下:

http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2

(2)解壓 arm-linux-gcc-3.4.1.tar.bz2

  1. #tar -jxvf arm-linux-gcc-3.4.1.tar.bz2  

解壓過程需要一段時間,解壓后的文件形成了 usr/local/ 文件夾,進入該文件夾,將arm文件夾拷貝到/usr/local/下

  1. # cd usr/local/   
  2. #cp -rv arm /usr/local/  

現(xiàn)在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了

(3)修改環(huán)境變量,把交叉編譯器的路徑加入到PATH。(有三種方法,這里只寫一種)

  1. # vi ~/.bashrc  

在最后加上:

  1. export PATH=$PATH:/usr/local/arm/3.4.1/bin  

(4)立即使新的環(huán)境變量生效,不用重啟電腦

  1. #source ~/.bashrc  

(5)檢查是否將路徑加入到PATH:

  1. # echo $PATH  

顯示的內(nèi)容中有/usr/local/arm/bin,說明已經(jīng)將交叉編譯器的路徑加入PATH。至此,交叉編譯環(huán)境安裝完成。

(6)測試是否安裝成功

  1. # arm-linux-gcc -v  

上面的命令會顯示arm-linux-gcc信息和版本,這是我顯示的信息:

  1. Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs   
  2. Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu   
  3. --prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm   
  4. -linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable   
  5. -nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable- languages=c,c++ --enable-shared --enable-c99 --enable-long-long   
  6. Thread model: posix   
  7. gcc version 3.4.1  

到這里就成功安裝好了交叉編譯環(huán)境

2、安裝qt-x11

進入下載頁面:選擇Download Qt libraries 4.5 for Linux/X11(120 Mb)

  1. # aptitude install libxtst-dev   
  2. # tar -zxvf qt-x11-opensource-src-4.5.3.tar.gz   
  3. # cd qt-x11-opensource-src-4.5.3   
  4. # ./configure   
  5. # make   
  6. # make install  

qt-x11 被安裝到此目錄下/usr/local/Trolltech/Qt-4.5.3

編譯qvfb:

  1. # cd qt-x11-opensource-src-4.5.3/tools/qvfb   
  2. # make  

至此,qt-x11安裝完畢完畢

#p#

3、安裝qt-embedded

選擇支持arm的體系結(jié)構(gòu)

  1. # tar -zxvf qt-embedded-linux-opensource-src-4.5.3.tar.gz   
  2. # cd qt-embedded-linux-opensource-src-4.5.3   
  3. #./configure -embedded arm -xplatform qws/linux-arm-g++ -no-qt3support -qt-mouse-linuxtp(我自己的設(shè)置,你可以通過查看./configure -help來設(shè)置)   
  4. #make   
  5. #make install  

qt-embeded 被安裝在這個目錄下/usr/local/Trolltech/QtEmbedded-4.5.3-arm 或者是/usr/local/Trolltech/QtEmbedded-4.5.3-generic

一般在/usr/local/Trolltech/QtEmbedded-4.5.3-arm

這里你可以新建一個set-env.sh文件

把下面復(fù)制到文件中

  1. export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.3-arm   
  2. export PATH=/usr/local/Trolltech/QtEmbedded-4.5.3-arm/bin:$PATH   
  3. exportLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.3-arm/lib:$LD_LIBRARY_PATH  

每次用的時候進行設(shè)置

  1. #. set-env.sh   
  2. 或者是  
  3.  source set-env.sh  

安裝qt-embed請參考我的這個帖子:http://www.qtcn.org/bbs/read.php?tid=22600

4、移植到開發(fā)板

下面通過NFS方式來測試是否成功(你必須提前配置好nfs)

先準備好2個nfs目錄,取名為nftsroot

一個是用來備用的,取名為fonts

(1)準備庫和字體

  1. #cp -a /usr/local/Trolltect/QtopiaCore-4.3.0-arm/lib /nfsroot  

然后在usr/local/Trolltect/QtopiaCore-4.3.0-arm里面收索到這些庫

  1. librt.so,librt.so.1,libstdc++.so,libstdc++.so.6,libstdc++.so.6.0.1  

筆者就是在運行時就提示要這些庫,所有大家還是先準備好來,然后復(fù)制到/nfsroot/lib里

  1. #ls /nfsroot/lib   
  2. fonts libQtScript.prl libQtSvg.so.4.5.3   
  3. libgcc_s.so libQtScript.so libQtTest.la   
  4. libgcc_s.so.1 libQtScript.so.4 libQtTest.prl   
  5. libQtCore.la libQtScript.so.4.5 libQtTest.so   
  6. libQtCore.prl libQtScript.so.4.5.3 libQtTest.so.4   
  7. libQtCore.so libQtScriptTools.la libQtTest.so.4.5   
  8. libQtCore.so.4 libQtScriptTools.prl libQtTest.so.4.5.3   
  9. libQtCore.so.4.5 libQtScriptTools.so libQtXml.la   
  10. libQtCore.so.4.5.3 libQtScriptTools.so.4 libQtXml.prl   
  11. libQtGui.la libQtScriptTools.so.4.5 libQtXml.so   
  12. libQtGui.prl libQtScriptTools.so.4.5.3 libQtXml.so.4   
  13. libQtGui.so libQtSql.la libQtXml.so.4.5   
  14. libQtGui.so.4 libQtSql.prl libQtXml.so.4.5.3   
  15. libQtGui.so.4.5 libQtSql.so librt-2.3.2.so   
  16. libQtGui.so.4.5.3 libQtSql.so.4 librt.so   
  17. libQtNetwork.la libQtSql.so.4.5 librt.so.1   
  18. libQtNetwork.prl libQtSql.so.4.5.3 libstdc++.so   
  19. libQtNetwork.so libQtSvg.la libstdc++.so.6   
  20. libQtNetwork.so.4 libQtSvg.prl libstdc++.so.6.0.1   
  21. libQtNetwork.so.4.5 libQtSvg.so pkgconfig   
  22. libQtNetwork.so.4.5.3 libQtSvg.so.4   
  23. libQtScript.la libQtSvg.so.4.5  

當(dāng)然這些庫文件不是每個都需要,用戶可以根據(jù)自己的應(yīng)用來選擇

#p#

接下來將開發(fā)板和主機通過網(wǎng)線連接起來,并在開發(fā)板里進行mount

  1. #mount -t nfs 192.168.0.10:/nfsroot /mnt -o nolock   
  2. #ls /mnt   
  3. lib  

接下來事字體(在lib目錄的fonts),字體比較麻煩,

根據(jù)文檔說明,Qtopia默認查找字體的目錄是/usr/local/Trolltech/QtEmbedded-4.5.3/lib/fonts

我們有兩種方式來掛載字體庫。

第一種:

  1. #mount -t ramfs ramfs /usr   
  2. #cd /usr   
  3. #mkdir local && mkdir local/Trolltech   
  4. #ln -s /mnt local/Trolltech/QtEmbedded-4.5.3-arm   
  5. #ls /usr/local/Trolltech/QtEmbedded-4.5.3-arm/lib/fonts  

這樣我們就配置好了。

如果上一種方法不行,看下面這種,一定可以!

第二種:

首先用到剛才的備用的nfs目錄 fonts(看名字就曉得用來掛載字體庫的)

  1. #cp -arf /usr/local/Trolltect/QtopiaCore-4.3.0-arm/lib/fonts /fonts  

在開發(fā)板里

  1. #mount -t nfs 192.168.0.10:/fonts /usr/local/Trolltech/QtEmbedded-4.5.3-arm -o nolock  

這樣就把字體庫鏈接到 /usr/local/Trolltech/QtEmbedded-4.5.3/lib/fonts目錄來了

第二種方法是我同學(xué)想出來的,很不錯吧,他的博客是:http://hi.baidu.com/armlinuxhouse/blog/item/c2fb91ca42b0811d7f3e6f10.html 里面有很多好的文章!

5、交叉編譯Hello World 程序

首先寫一個hello.cpp的程序

  1. #qmake -project   
  2. #qmake  

得到一個hello的arm可執(zhí)行程序(通過file命令來查看它所屬的cpu)

并將該

  1. #cp hello /nfsroot  

然后在超級終端里運行

  1. #export LD_LIBRARY_PATH=/mnt/lib:$LD_LIBRARY_PATH   
  2. #cd /mnt   
  3. #./hello -qws  

這樣就能看到你的運行程序了!

小結(jié):Qt 4.5.3 移植全過程介紹完了,希望本篇文章對你有幫助!

責(zé)任編輯:zhaolei 來源: CSDN博客
相關(guān)推薦

2011-09-06 15:38:20

QT安裝

2009-06-10 16:55:42

cygwin netb安裝

2017-04-25 18:03:11

Caffe深度學(xué)習(xí)框架

2010-02-22 13:38:50

Python解析器

2010-06-11 13:15:07

UML軟件

2011-02-22 10:46:02

Samba配置

2011-04-18 15:56:10

軟件測試

2009-12-08 17:56:16

WCF配置

2010-07-07 09:11:31

Eclipse UML

2011-01-21 17:51:52

2009-04-13 12:37:18

2011-07-02 13:42:24

Qt 移植

2011-06-29 10:46:01

Qt Eembedded Linux

2010-03-01 17:01:03

Python編程技巧

2010-03-10 13:24:45

Zend Debugg

2010-06-17 13:10:09

Linux Grub修

2010-11-19 10:11:49

Oracle物化視圖

2012-11-06 10:19:18

Java自定義加載Java類

2011-03-11 10:39:02

YUM安裝LAMP

2010-07-21 14:51:19

telnet-serv
點贊
收藏

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