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

Qt交叉編譯工具建立 上篇

移動開發
本文介紹了Qt交叉編譯工具建立,主要介紹了安裝與建立Qt 桌面運行環境,其他內容想看本文指引。先來看本篇內容。

本文主要內容為編譯器的安裝,安裝與建立Qt 桌面運行環境,Qt/E 的交叉編譯,建立本機Qtopia 虛擬平臺,Qtopia2.1.1 在2410-上的移植,預備:編譯器安裝:
 
編譯器: arm-linux-gcc-3.4.1.tar.bz2(軟件從網上下載,如果不知道從什么地方下載,google就是了。)

把軟件arm-linux-gcc-3.4.1.tar.bz2拷貝到/usr/local下,在終端執行如下命令安裝:

  1. tar -xjf arm-linux-gcc-3.4.1.tar.bz2 

生成的編譯工具在目錄/usr/local/arm/3.4.1/bin下,修改/etc/profile,增加如下一行。這可以讓我們直接運行arm-linux-gcc,而不必將其絕對路徑都寫出來,不過這得重新啟動后才生效:

  1. pathmunge /usr/local/arm/3.4.1/bin 

硬件:UP-NETARM2410S

這一步,不一定要下載同樣的版本的交叉編譯工具,我用的是2.95.3,在執行完這一步的時候,把環境變量加入到profile以后,注消一下,以便于以后的路徑里面是arm-linux-g++.
下面的安裝以及環境變量的設置,按照這里說的進行,但是有一點要注意,在configure的時候選擇large模式,要不可能會出現make出錯,可以試試,如果出錯了,再make clean就是了.

我按照說明,只進行到了第二點結束,因為我認為,qtopia暫時沒有必要試用.

還有我覺得這個里面使用的版本太低,我會嘗試都使用qt3的版本的庫文件.

還有他在交叉生成編譯文件的時候,使用了progen和tmake,他的用法有點不對,我覺得,我是這么用的:

假設hello工程有hello.h和hello.cpp兩個文件,先用progen生成pro文件,其實progen的意思就是pro文件的gernerate(生成)工具.

  1. progen -o hello.pro  
  2. tmake hello.pro -o Makefile  
  3. make 

中間可以查看一下makefile文件的內容,注意,CXX=arm-linux-g++,LINK=arm-linux-g++.

再可以把make后的文件看看,file hello,系統會顯示這個是一個elf文件就是說這個是一個arm上面執行的文件!

交叉編譯生成可執行文件的時候,也就是在操作(三)下面的第三點的時候,如果新開的一個終端,那么以前的定義的一些臨時的環境變量是消失了的,一般系統也帶有qt,而我們的嵌入式的qt版本比系統的低級,最好是不要在系統路徑下面設置環境變量,tmake已經加入了系統路徑了,所以我們要重新設置一下,或者說定義一下.如下:

  1. echo $TMAKEPATH 

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

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

我的系統就是:

  1. export TMAKEPATH=/gg/tmake-1.13/lib/qws/linux-arm-g++ 

再設置QTDIR和QTEDIR:

QTEDIR要設置成為QTE的文件夾,export QTEDIR=$PWD/qt-2.3.10-target,PWD是我所在的路徑,我的是/gg,也就是export QTEDIR=/gg/qt-2.3.10-target再export QTDIR=$QTEDIR就可以直接使用progen以及tmake工具了.以上是如何生成elf格式的文件,要生成主機上使用的.o文件怎么弄呢?

第一種方法:

首先安裝系統時候也安裝了高版本的qt,可以使用這個qt,用qmake工具,首先用qtdesigner創建一個pro文件和一些相應的.h和.cpp文件,比如hello.cpp然后,qmake hello.pro,再make生成Makefile,再make成功的話就可以./hello了.

第二種方法:

就是用下面安裝的低級版本的qt庫來運行,條件就是開始已經安裝了這些庫,有一點要注意的就是要按照安裝時候設置的路徑重新定義一下環境變量.否則會出錯的.

當然了這里也要用qtdesigner創建一個pro文件和一些相應的.h和.cpp文件,然后用progen和tmake工具生成makefile!

還有一點要注意就是qvfb這個工具不一定要用tools里面的,可以在網上 新下載一個編譯之后運行,可以把路徑加入系統路徑以后方便自己用.

安裝與建立Qt 桌面運行環境

軟件:PC 機操作系統REDHAT LINUX 9.0 +MINICOM + ARM-LINUX 開發環境

  1. tmake-1.13.tar.gz qt-embedded-2.3.10-free.tar.gz  
  2. qt-x11-2.3.2 .tar.gz 

軟件從網上下載,如果不知道從什么地方下載,google就是了。
 
把本次實驗用到的三個文件拷貝到/root/2410sQt目錄下,以下的步驟是假設你在/root/2410sQt 下操作的。
 
Qt/Embedded 平臺的搭建需要以下幾步:
 
第一步,解壓安裝包并設置環境變量

  1. tar –xzvf tmake-1.13.tar.gz  
  2. tar –xzvf qt-x11-2.3.2.tar.gz  
  3. tar –xzvf  
  4. qt-embedded-2.3.10-free.tar.gz  
  5. mv  qt-2.3.10 qt-2.3.10-host  
  6. export TMAKEDIR=$PWD/tmake-1.13  
  7. export QT2DIR=$PWD/qt-2.3.2  
  8. export QTEDIR=$PWD/qt-2.3.10-host 

環境變量的設置是非常重要的,它關系到能否正確的安裝及編譯這些安裝包.
 
注意: 在以下安裝中,make命令執行前先執行一下make clean命令.

第二步,編譯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. make clean  
  7. ./configure -no-xft 

這個地方要注意 ,large 模式

  1. make  
  2. mkdir $QTEDIR/bin  
  3. cp bin/uic $QTEDIR/bin/ 

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. make  clean  
  7. tmake -o Makefile qvfb.pro  
  8. make  
  9. mv qvfb $QTEDIR/bin/ 

這一步build qvfb 并建立了從Qt/Embedded 2.3.10 到Qt 2.3.2 的靜態庫的鏈接。其中qvfb 工具用來生成Virtual framebuffer,這是一個非常有用的工具,它可以模擬在開發板上的顯示情況,如果在Virtual framebuffer 中運行沒有問題的話,可以直接通過交叉編譯在開發板上運行。
 
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. make clean  
  7. ./configure -no-xft -qvfb -depths 4,8,16,32  
  8. make 

第三步 查看運行結果

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

在Virtual framebuffer 上運行:

  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 

小結:本篇內容介紹完了,想要繼續深入,請參考 Qt交叉編譯工具建 中篇 ,最后希望本文對你有幫助!

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

2011-06-23 18:16:59

Qt Qtopia

2011-06-23 18:04:42

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

2010-02-02 15:13:42

Linux ARM

2011-07-05 18:32:52

QT 信號 機制

2011-07-01 14:14:34

Qt 事件

2011-06-09 16:47:56

Qt 嵌入式

2011-06-17 16:47:12

Qt Eclipse Windows

2011-06-17 13:18:17

Qt 文件

2011-06-22 14:30:44

QT 多線程 線程

2011-06-27 13:32:21

Qt 數據庫 QSqlQueryM

2021-05-13 09:45:53

GolangLinux交叉編譯

2011-06-30 10:09:26

QT Graphics View

2011-06-30 15:51:39

2011-06-21 15:48:41

2011-06-27 10:15:22

Qt 網絡 TCP

2011-07-04 15:48:57

Qt 桌面

2011-06-09 15:18:07

QT 編譯
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产久| 国产精品一区二区欧美黑人喷潮水 | 亚洲一av | 久久综合伊人 | 亚洲精品在线视频 | 99re视频| 亚洲国产黄 | 国产农村妇女毛片精品久久麻豆 | 欧美日韩国产一区二区 | 久久精品国产99国产精品 | 亚洲免费在线 | 国产一级黄色网 | 青青艹在线视频 | 欧美9999| 韩国主播午夜大尺度福利 | 欧美视频免费在线 | 久久综合久久自在自线精品自 | 在线免费国产 | 中文字幕视频在线观看 | 成人在线观看免费观看 | 国产高清在线精品 | 精品免费看 | 日韩不卡一区二区 | 罗宾被扒开腿做同人网站 | 国产精品久久久久久久免费大片 | 久久久久国产精品一区二区 | 国内自拍视频在线观看 | 成人在线免费观看视频 | 97久久精品午夜一区二区 | 精品国产乱码久久久久久丨区2区 | 一级片网站视频 | 亚洲精品国产成人 | 亚洲国产成人精品在线 | 国产亚洲精品美女久久久久久久久久 | 性天堂网| 伊人影院99 | 欧美一级全黄 | 国产精品久久久久久久免费观看 | 久久夜视频 | 精一区二区 | 亚洲永久|