成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深度解析 Qt 4.5.3 移植全過程

移動開發
本文介紹的是Qt 4.5.3 移植全過程,QT 4.5是開跨平臺GUI應用程序的理想選擇,先來看內容。

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

1、安裝交叉編譯環境

(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/  

現在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了

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

  1. # vi ~/.bashrc  

在最后加上:

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

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

  1. #source ~/.bashrc  

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

  1. # echo $PATH  

顯示的內容中有/usr/local/arm/bin,說明已經將交叉編譯器的路徑加入PATH。至此,交叉編譯環境安裝完成。

(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  

到這里就成功安裝好了交叉編譯環境

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的體系結構

  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(我自己的設置,你可以通過查看./configure -help來設置)   
  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文件

把下面復制到文件中

  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  

每次用的時候進行設置

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

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

4、移植到開發板

下面通過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  

筆者就是在運行時就提示要這些庫,所有大家還是先準備好來,然后復制到/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  

當然這些庫文件不是每個都需要,用戶可以根據自己的應用來選擇

#p#

接下來將開發板和主機通過網線連接起來,并在開發板里進行mount

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

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

根據文檔說明,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  

在開發板里

  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目錄來了

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

5、交叉編譯Hello World 程序

首先寫一個hello.cpp的程序

  1. #qmake -project   
  2. #qmake  

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

并將該

  1. #cp hello /nfsroot  

然后在超級終端里運行

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

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

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

責任編輯:zhaolei 來源: CSDN博客
相關推薦

2011-09-06 15:38:20

QT安裝

2009-06-10 16:55:42

cygwin netb安裝

2017-04-25 18:03:11

Caffe深度學習框架

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配置

2011-07-02 13:42:24

Qt 移植

2011-01-21 17:51:52

2009-04-13 12:37:18

2010-07-07 09:11:31

Eclipse UML

2011-06-29 10:46:01

Qt Eembedded Linux

2012-11-06 10:19:18

Java自定義加載Java類

2010-11-19 10:11:49

Oracle物化視圖

2010-03-10 13:24:45

Zend Debugg

2010-06-17 13:10:09

Linux Grub修

2010-03-01 17:01:03

Python編程技巧

2011-03-11 10:39:02

YUM安裝LAMP

2010-06-12 10:03:20

Ubuntu Grub
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美激情精品久久久久 | 亚洲在线免费 | 国产乱码精品一区二区三区中文 | 91在线网站 | 91视频在线| 日日操操操 | 午夜爱爱毛片xxxx视频免费看 | 国产免费观看久久黄av片涩av | 亚洲精品国产偷自在线观看 | 真人女人一级毛片免费播放 | 日日天天| 国产一区不卡 | 午夜在线影院 | 亚洲精品一区中文字幕乱码 | 一级黄色录像片子 | 免费视频一区二区 | 亚州激情 | 久久成人高清视频 | 欧美自拍另类 | 国产丝袜人妖cd露出 | 亚洲成人精品一区 | 国产网站在线播放 | 久久久久久国产 | 欧美在线视频网站 | 欧美一级网站 | 日韩在线欧美 | 成人在线视频网址 | 午夜精品91| 日韩精品一区在线 | 午夜久久久久久久久久一区二区 | 国产综合久久久久久鬼色 | 亚洲+变态+欧美+另类+精品 | 久久久久久亚洲精品 | 欧美一级欧美三级在线观看 | 日本91av视频 | 欧美日韩在线一区二区 | 国产精品久久久久久久久久久免费看 | 91欧美精品成人综合在线观看 | 亚洲色图综合网 | 久久久精彩视频 | 免费国产一区二区视频 |