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

Qt交叉編譯工具建立 中篇

移動開發
本文介紹了Qt交叉編譯工具建立,主要介紹了Qt/Embedded 的交叉編譯,建立本機Qtopia 虛擬平臺,其他內容想要了解請看本文指引。先來看本篇內容。

繼續上面的內容繼續講 Qt交叉編譯工具建立 上篇 ,主要介紹了Qt/Embedded 的交叉編譯,建立本機Qtopia 虛擬平臺這兩個方面介紹的!

一、Qt/Embedded的交叉編譯
 
   要將我們寫好的程序發布到開發板上,我們需要對Qt/Embedded 重新編譯,與前面在宿主機上編譯類似,步驟如下:

1. Build Qt/Embedded

  1. tar –xzvf qt-embedded-2.3.10-free.tar.gz  
  2. mv  qt-2.3.10  
  3. qt-2.3.10-target  
  4. export TMAKEDIR=$PWD/tmake-1.13  
  5. export QT2DIR=$PWD/qt-2.3.2  
  6. export QTEDIR=$PWD/qt-2.3.10-target  
  7. cd $QTEDIR  
  8. export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++  
  9. export QTDIR=$QTEDIR  
  10. export PATH=$QTDIR/bin:$PATH  
  11. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  
  12. make  clean  
  13. ./configure -xplatform linux-arm-g++ -no-xft -no-qvfb -depths 4,8,16,32  
  14. make 

這步完成后,我們會在/$QTEDIR/lib/目錄下面看到libqte.so libqte.so.2 libqte.so.2.3 libqte.so.2.3.10 這四個文件,我們可以使用file 命令來查看這個庫文件是否是我們需要的在開發板上跑的庫。

  1. file libqte.so.2.3.10  
  2. libqte.so.2.3.10: ELF 32-bit LSB shared object, ARM, version 1 (ARM), stripped 

有了這個庫以后我們就可以把它拷貝到我們的開發板中相應的庫目錄下面,這里我們選擇了開發板上的/usr/lib 目錄,將/$QTEDIR/lib/下的libqte.so*復制到/usr/lib 目錄下。

首先要建立宿主機和開發板的通訊,假設本機的ip 地址為192.168.0.56 并且/root/share 為共享文件夾。

  1. cp –arf /$QTEDIR/lib/libqte.so*  /root/share  
  2. 啟動minicom  
  3. mount –t nfs –o nolock 192.168.0.56:/root/share /mnt/nfs將文件復制到開發板上  
  4. cp –arf /mnt/nfs/libqte.so* /usr/lib 

 2. 修改tmake 配置文件

  1. vi $ TMAKEDIR/lib/qws/linux-arm-g++/tmake.conf  
  2. 將其中“TMAKE_LINKarm-linux-gcc”  
  3. TMAKE_LINK_SHLIBarm-linux-gcc”  
  4. 修改為:“TMAKE_LINKarm-linux-g++”  
  5. TMAKE_LINK_SHLIBarm-linux-g++” 

 3.生成可執行文件
 
 這里我們采用了Qt/Embedded自帶的一個demo,它在/$QTEDIR/examples/progressbar目錄下,這個目錄包括下面幾個文件: main.cpp、Makefile.in 、progressbar.h 、

Makefile、progressbar.cpp、progressbar.pro,如果已經有了progressbar 的執行文件,可以使用make clean刪除。

  1. progen –t app.t –o progressbar.pro  
  2. echo $TMAKEPATH 

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

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

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

export QTDIR=$QTEDIR 或者直接指定路徑

  1. export QTDIR=……/qt-2.3.10-target 

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

  1. tmake –o makefile progressbar.pro  
  2. make 

如果沒出現錯誤的話就可以在當前目錄下找到progressbar這個可執行文件,它就是在我們開發板上的相應目錄中運行“./progressbar -qws”就可以運行程序了。
 
 注: (1)如果執行命令

  1. [/mnt/nfs]./progressbar -qws  
  2. ./progressbar: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or direy 

我的解決辦法是從編譯器目錄下查找,并拷貝到開發板/usr/lib/中

  
即拷貝/usr/local/arm/3.4.1/arm-linux/lib/libstdc++.so*  到開發板/usr/lib/中

(2).[/mnt/nfs]./progressbar –qws

  1. /progressbar: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such fy 

方法同上

二、建立本機Qtopia 虛擬平臺
 
軟件:Redhat Linux9.0 for PC + minicom + Embeded Linux for 2410

  1. tmake-1.13.tar.gz qtopia-free-source-2.1.1.tar.bz2 qt-embedded-2.3.10-free.tar.gz qt-x11-2.3.2.tar.gz 

將本次實驗所需的四個文件拷貝到/root/qtopia 目錄下,我們以下的實驗都是在這個目錄下進行的。

宿主機上建立虛擬的Qtopia 環境需要以下幾個步驟:

1. 解壓縮安裝文件:

  1. tar jxvf qtopia-free-source-2.1.1.tar.bz2  
  2.  mv qtopia-2.1.1  qtopia-2.1.1-target  
  3.  tar xzf tmake-1.13.tar.gz  
  4.  tar xzf qt-x11-2.3.2.tar.gz  
  5.  tar xzf qt-embedded-2.3.10-free.tar.gz  
  6.  mv qt-2.3.10  qt-2.3.10-target  
  7.  export QPEDIR=$PWD/qtopia-2.1.1-target  
  8.  export TMAKEDIR=$PWD/tmake-1.13  
  9. export QT2DIR=$PWD/qt-2.3.2  
  10.  export QTEDIR=$PWD/qt-2.3.10-target 

 2. Build Qt/X11: 

  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  
  7. make  
  8. mkdir $QTEDIR/bin  
  9. cp bin/uic $QTEDIR/bin/ 

3. Build Qvfb:

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

4.Build libqte:

  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. cp -f $QPEDIR/src/qt/qconfig-qpe.h src/tools/  
  7. ./configure -system-jpeg -no-xft -qconfig qpe -qvfb -depths 4,8,16,32  
  8. make sub-src 

5.Build Qtopia:

  1. cd $QPEDIR  
  2. export QTDIR=$QTEDIR  
  3. export PATH=$QPEDIR/bin:$PATH  
  4. export  
  5. LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH  
  6. ./configure  
  7. make 

和前面編譯Qt/Embedded 的基本步驟一樣,還可以參考“./configure --help”,來進行選擇。為了保證qvfb 能夠正確顯示qtopia 的結果,我們必須保證環境變量設置正確,我們可以通過“env”命令來檢查下面的環境變量,也可以用下面的方法來檢查。

  1.  echo $QPEDIR  
  2. /root/qtopia/qtopia-free-2.1.1/  
  3. echo $QTDIR  
  4. /root/qtopia/qt-2.3.10  
  5. echo $LD_LIBRARY_PATH  
  6. /root/qtopia/qtopia-free-2.1.1/lib:/root/qtopia/qt-2.3.10/lib  
  7. echo $PATH  
  8. /root/qtopia/qt-2.3.10/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local 
  9. /sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 

出現上面的結果就可以正常的顯示Virtual framebuffer,我們可以通過下面的命令在Virtual framebuffer 中實現Qtopia。

  1. cd $QPEDIR/bin  
  2. qvfb &  
  3. sleep 10  
  4. ./qpe.sh 

 小結:關于Qt交叉編譯工具建立的內容介紹完了,想要深入了解的話,請繼續關注 Qt交叉編譯工具建立 下篇 ,***希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-23 18:16:59

Qt Qtopia

2011-06-23 16:24:21

Qt Embedded 交叉編譯

2011-06-28 13:47:37

Embedded QT ARM

2011-07-04 15:13:31

QT MPlayer 移植

2011-06-13 14:49:57

Qt Designer

2011-06-17 17:01:22

Qt Eclipse Windows

2010-02-02 15:13:42

Linux ARM

2011-06-30 10:22:48

QT Graphics View

2011-06-09 16:47:56

Qt 嵌入式

2021-05-13 09:45:53

GolangLinux交叉編譯

2011-06-27 14:31:29

Qt 數據庫 SQL語句

2011-06-09 15:18:07

QT 編譯

2011-06-08 15:27:24

QT QT 4.5 編譯

2011-06-21 16:51:21

Qt 靜態 編譯

2011-06-22 14:38:09

QT 多線程 線程安全

2011-07-04 15:48:57

Qt 桌面

2011-06-21 14:34:30

Qt Designer mini2440

2010-03-02 10:55:47

Linux SkyEy

2010-02-24 16:49:24

Fedora SkyE

2011-07-05 16:31:17

Qtopia 交叉編譯
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久婷婷天堂 | 中国一级特黄视频 | 91久久久久久 | 成人在线视频一区 | 日本a在线 | 亚洲成人免费在线 | 国产精品视频免费观看 | 一级毛片高清 | 欧美一级网站 | 99reav| 中文字幕成人 | 成人免费视频网站在线观看 | 一级黄色毛片 | 欧美激情精品久久久久久免费 | 日日夜夜精品免费视频 | 亚洲精品日韩在线 | 国产在线不卡 | japanhd美女动 | 天天躁日日躁狠狠很躁 | 久久伊人影院 | 一色一黄视频 | 欧美激情一区二区 | 日韩欧美精品 | 日本久久综合 | 噜久寡妇噜噜久久寡妇 | 综合二区| 99国产精品久久久 | 黄网免费 | 国产亚洲精品成人av久久ww | 99热.com| 免费看91| 波多野结衣一区二区 | 久久一区视频 | 国产成人精品午夜视频免费 | 97成人精品 | 国产欧美一区二区三区久久 | 国产色网站 | 黄色av观看 | 观看av| 欧美精品 在线观看 | 91麻豆精品一区二区三区 |