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

QT Embedded環境的建立之Arm Linux嵌入式

移動開發
本文介紹的是QT Embedded環境的建立之Arm-Linux嵌入式QT Embedded 3.x系列比QT Embedded 2.x系列有非常大的改進,大大提高了開發進度,不再使用tmake,安裝也更簡單。

本文介紹的是QT Embedded,雖然現在版本已經是4.5了,那QT Embedded 3.x系列比QT Embedded  2.x系列有非常大的改進,大大提高了開發進度,不再使用tmake,安裝也更簡單。但目前在網上關于QT Embedded  3.x系列的介紹還是比較少,所以本文介紹一下QT Embedded  3.x系列的安裝。

一、建立ARM交叉編譯工具鏈

在安裝QT Embedded 之前,應確保ARM-Linux交叉編譯工具鏈已經建立,如果還沒有可以參考以下步驟建立。

1、下載交叉編譯工具cross-2.95.3.tar.bz2(或其他版本如:cross-3.4.4.tar.bz2),這是已經制作好的ARM交叉編譯工具鏈,只需解壓及建交環境變量即可使用。

2、把文件cross-2.95.3.tar.bz2拷貝到一個文件夾,這里我用:/usr/local/ARM這個目錄。 注意后面建立環境變量時要與之對應。

3、解壓 tar -xjvf    cross-2.95.3.tar.bz2

4、建立環境變量 export    PATH=/usr/local/ARM/2.95.3/bin:$PATH

或者也可以寫進文件 ~/.bashrc中,這樣就不用每次開機都export啦。

  1. vi     ~/.bashrc 

在后面加上 export    PATH=/usr/local/ARM/2.95.3/bin:$PATH

到此ARM-Linux交叉編譯工具鏈就已經建好了。

二、編譯QT

1、QT/E自由版可到官網ftp下載。網址是:ftp://ftp.trolltech.com/qt/source/ 。可自己選擇一個版本下載,個人認為QT/E 3.x系列比較好用,不過QT/E 2.x系列在網上的資料比較多。但建議不用qt/e 3.3.x 的版本,因為在本人開發的過程當中試用過qt/e 3.3.4和qt/e3.3.8,發現它們在ARM開發板上占CPU的資源特高,一直占cpu 98%左右,現在我還沒找到原因,不知道有沒有哪位朋友也遇到這個問題。推薦用qt/e 3.1.0版本,我正在用,沒遇到什么問題。

(注:問題已經得到解決,原來是鍵盤接口沒做好,等有空與大家分享一下移植鍵盤接口的過程)

2、在這里,本人假設用的是 qt-embedded-free-3.1.0.tar.bz2

3、把文件qt-embedded-free-3.1.0.tar.bz2 拷貝到一個文件夾,這里我用:/usr/local/ARM這個目錄。 注意后面建立環境變量時要與之對應。

4、解壓 tar   -xjvf   qt-embedded-free-3.1.0.tar.bz2 

把解壓后的文件夾qt-embedded-free-3.1.0改為qte。(可以不改,這里是為了方便,注意后面建立環境變量時要與之對應)  

  1. mv     qt-embedded-free-3.1.0     qte 

5、建立環境變量

  1. vi     ~/.bashrc 

在后面加上

  1. export QTDIR=/usr/local/ARM/qte  
  2. export QTEDIR=$QTDIR  
  3. export PATH=$QTDIR/bin:$PATH  
  4. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 

(請重新登陸,以使得環境變量生效)

6、配置QT

進入QT/E目錄:    

  1. cd $QTDIR 

輸入:  

  1. ./configure -embedded ARM   -thread -no-cups -qvfb -depths 4,8,16,32 

上述選項: -embedded ARM 指目標平臺為ARM; -thread 表示支持qt線程,本人開發當中用到; -qvfb 表示支持虛擬緩沖幀工具qvfb;-depths 4,8,16,32 表示支持4,8,16,32 位的顯示顏色深度。還有很多選項就不一一列舉,請查看 ./configure -help。

此外還有一個選項我沒用的是 -qconfig local,你可以把一些開關變量寫到一個文件qconfig-local.h 中,并把它放到$QTDIR/src/tools下。可參考這個目錄下的qconfig-small.h、qconfig-medium.h 、qconfig-large.h等文件,直接使用它們也行,如: -qconfig small 。通過這些開關變量,可以把一些開發當中用不著的構件去掉,減少qt庫的大小。這里要對QT比較熟練,初學者可先不理。

本人在家里編譯到這里曾出現編譯 $QTDIR/include/qvaluestack.h 這個文件的時候出錯,后來把qt3.3.8對應的文件拷貝過來覆蓋便通過了,估計是與gcc的版本不兼容的問題,我在公司里沒出現過這種問題)

7、編譯

make sub-src      // 指定按精簡方式編譯開發包,也就是說有些Qt 類未被編
譯。

8、測試

至此編譯工作完成,***測試一下是否能正常使用。我們可以用QT自帶的例子來測試,如:

  1. cd $QTDIR/examples/aclock      //或你自己新建一個QT工程也行  
  2.  
  3. make clean                              //把原來的清掉  
  4.  
  5. rm    *.pro       Makefile                       //刪掉,重新建立工程文件  
  6.  
  7. qmake   -project  
  8.  
  9. qmake   -spec $QTDIR/mkspecs/qws/Linux-ARM-g++ -o Makefile         

 -spec指定目標板的配置文件,這里我做的是Linux ARM平臺,注意在這里,$QTDIR/mkspecs/qws/Linux-ARM-g++ 它不是編譯器,是一個配置文件,而編譯時用的編譯器是我們在***步建立的ARM交叉編譯工具鏈里面的編譯器。

  1. make       

如果沒出錯就表示你的QT/E環境已經成功建立。如果提示說cannot   find   -lqte, 那么你試一下修改Makefile文件,找到-lqte ,把它改為-lqte-mt再make一次一般就行了。這是因為如果用到QT線程或其它一些原因,它生成的庫不再是libqte.so.3.1.0,而是libqte-mt.so.3.1.0,所以它便找不到了。

三、移植到開發板(以下都是在目標機環境下)

1、新建一個目錄,如:/qt/lib。進入此目錄 cd   /qt/lib

2、通過 ftp 把上面生成的qt庫文件libqte-mt.so.3.1.0下載到開發板/qt/lib/目錄下。(注意:不要用wget 下載,會破壞庫文件,從而出現

  1. ld.so: dynamic-link.h: 62: elf_get_dynamic_info: Assertion `! "bad dynamic tag"'''''''''''''' failed!.這種錯誤) 

3、創建qt庫連接:

  1. ln   -s libqte-mt.so.3.1.0     libqte-mt.so  
  2. ln   -s   libqte-mt.so.3.1.0     libqte-mt.so.3  
  3. ln   -s   libqte-mt.so.3.1.0     libqte-mt.so.3.1 

4、建立環境變量

  1. vi     ~/.bashrc 

在后面加上

  1. export QTDIR=/qt  
  2. export QTEDIR=$QTDIR  
  3. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 

4、到此目標板的環境已經建好。現在可以把上面的例子aclock下載到目標板上試一下能不能跑起來!

在開發板控制臺下輸入: ./aclock -qws

如果能跑起來但是鍵盤用不了,那是正常的情況,因為鍵盤、鼠標等設備的接口還沒加進QT Embedded 的原因,而這個不是一兩句話能說清的,所以留到以后再另外補充!

補充一點:如果有類似這樣的提示: "./aclock: error while loading shared libraries: libstdc++.so.6: cannot load shared object file: No such file or directory." 你可以從我們***步建立的ARM交叉編譯工具鏈里的/usr/local/ARM/2.95.3/ARM-Linux/lib/目錄下找到相應的庫文件下載到開發板的 /lib 目錄下即可。

小結:QT Embedded環境的建立之Arm-Linux嵌入式的內容介紹完了,不過現在QT Embedded的版本通常是4.5。不過還是希望本文章能幫你解決在建立環境時出現的問題。

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

2011-07-05 15:42:02

QT 嵌入式 Embedded

2011-06-21 11:10:28

Qt Embedded

2009-06-26 16:18:40

Windows Emb

2011-06-09 10:28:54

QT 嵌入式

2011-06-13 14:00:55

Qt Designer linux

2011-07-05 15:59:18

Qt 嵌入式 linux

2009-07-17 16:06:59

ARM嵌入式開發

2010-01-07 10:45:38

嵌入式Linux入門

2011-04-22 10:02:02

Ubuntu嵌入式開發環境

2009-06-11 11:09:02

Linux嵌入式開發環境

2011-01-14 13:13:23

嵌入式Linux開發

2011-06-13 13:35:06

Qt Embedded QT

2011-06-29 18:17:20

Konqueror Embedded 瀏覽器

2010-03-02 14:09:15

Windows Emb

2009-04-10 13:17:32

opensusesuselinux

2009-04-10 13:11:33

opensusesuselinux

2014-05-26 15:14:04

DIGIA嵌入式Qt

2022-11-24 11:15:49

IoTLinux設備樹機制

2019-04-10 11:50:00

微軟Windows XPWindows 10

2022-01-04 22:19:38

Linux開發嵌入式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 玖玖视频免费 | 黄毛片 | 国产视频一二三区 | 91在线网站 | 中文字幕一区二区三区不卡在线 | 中文字幕1区2区3区 日韩在线视频免费观看 | 欧美极品一区二区 | 一区免费 | 一区二区三区中文字幕 | 最新毛片网站 | 天天爱综合 | 久久久久久久综合 | 日韩欧美在线观看视频 | 久久久女 | 欧美乱操 | 久久久一区二区 | 国产精品完整版 | 亚洲天堂网站 | 中文精品视频 | 日韩理论电影在线观看 | 精品久久久久久中文字幕 | 免费黄视频网站 | 久热国产精品 | 黄色一级电影免费观看 | 亚洲精品三级 | 成人黄色在线 | 99色在线视频 | 中文字幕国产一区 | 桃色五月 | 国产成人免费 | 在线欧美一区二区 | 日本在线精品视频 | 成人在线日韩 | 亚洲欧美日韩国产 | 蜜桃视频麻豆 | 黄色一级大片视频 | 亚洲欧美一区二区三区在线 | 欧美精品在欧美一区二区少妇 | 亚洲精品视频播放 | 欧美日韩大陆 | 一区二区三区视频在线观看 |