環境:
Ubuntu10.04
arm linux OS: 3.0.1
arm上 qt-4.7.1
g++ / gcc 4.4.3
arm-linux-g++ / arm-linux-gcc 4.3.2
特別標注:
有些網站轉載我的文章不標明出處,並且轉載不到位,沒有把相應的鏈接一塊轉過去,比如說下載鏈接或相關文獻的鏈接等,導致一些網友閱讀和使用出現障礙和知識的不連續,所以在此特別標注:我的這篇文章發表在CSDN博客上,可以到CSDN博客來閱讀。
正題:
由於沒接觸過ARM,linux也只懂些皮毛而已,但現在開發需要,沒辦法,只能接觸這塊硬骨頭。
之前買了塊OK6410開發板,由於裡面學習資料有限,研究了好長時間還是不明就理,什麼QT、QT4.**、QTOpia2.**、QTOpia4.**、QTEmbedded、QTDesigner、QTCreator...... 一大堆的QT,不知道這些有什麼關聯,復雜,搞不懂呀。
接觸之前就知道這是塊難啃的骨頭。
但我的主題只有一個,就是我寫的程序能在Linux ARM上能夠運行,
由此我就要有一個開發用的IDE,IDE編譯出來的程序能夠在ARM上運行;
IDE要選那個呢?有文章說用QTDesinger,有說用QTCreator等等。
經過資料查詢,其實QTDesinger和QTCreator都可以,QTCreator更類似於我常用的VC++ IDE;
OK6410 Linux版本裡面又兩個圖像界面,一個是QTOpia2界面,一個是QT4界面。
平常都在寫VC程序,所以更喜歡QTCreator(其實QTDesinger包含於QTCreator)
以上就是我對眾多QT的一點皮毛理解,可能有誤,但對於現在的我來說已經是一大越進。
下面就重點來講講QTCreator + QTEmbedded 在Ubuntu上創建嵌入式ARM開發環境
首先得裝載在ubuntu上裝載arm編譯器:arm-linux-gcc,arm-linux-g++ (如何安裝網上資料很多,OK6410隨帶的資料裡面也有)
接著用ubuntu編譯QT4.7.1(也就是QTEmbedded),它的源碼名稱是:qt-everywhere-opensource-src-4.7.1.tar.gz
解壓編譯之後如下圖所示:(注:QtEmbedded-4.7.1-arm這個名稱是後來更改的,原名稱是解壓包的名稱)
接著進入 bin 文件夾,把qmake名稱改為qmake-arm (以便區別,不改也可以)
下來就在Ubuntu上安裝QTCreator,直接在ubuntu的“新立得軟件包管理器“搜索安裝即可。
接著運行QTCreator編寫一個簡單的程序
在PC端運行成功之後(如下圖)
就可以進行arm端程序的編譯了
把QTCreator創建的應用程序編譯成ARM版本很容易,用嵌入式ARM版的QT4的qmake(即剛才改名成qmake-arm的qmake)工具創建Makefile文件,然後make就可以了。
進入到工程文件夾裡面
運行qmake-arm命令:
此時將生存Makefile文件
從Makefile文件的內容我們可以看出,編譯器已經采用了arm-linux-gcc 或 arm-linux-g++,這樣make之後,就編譯出可以運行在ARM上的QT4環境運行的程序了。