歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

qt creator開發arm linux

最近把Qt到開發環境建立了起來,以後打算多點時間在學習Qt上面,下面是我的移植與搭建過程,現在貼出來希望能對大家有點幫助。。。。。

作者:顧文彪

博客:http://blog.chinaunix.net/u3/113714/

交叉編譯器:arm-linux-gcc-4.3.2

開發環境:ubuntu10.10

聲 明:最近在網上發現有某些人轉載我的文章不但沒有標明來源,還說是自己到原創文章,讓我感到十分氣憤,我貼出自己的筆記完全是為了對嵌入式愛好者們做點貢 獻,請大家珍惜我的勞動成果!轉載的話請自覺注明來源:http://blog.chinaunix.net/u3/113714/

接下來開始:

首 先下載qt-everywhere-opensource-src-4.6.3.tar.gz 、qt-sdk-linux-x86-opensource-2010.04.bin 、tslib-1.4.tar.gz 這三個源碼包,鏈接我就不給了,大家自己去google一下,這裡我把這幾個包的用途說一下:

qt-everywhere-opensource-src-4.6.3.tar.gz為Qt的源碼包,用來編譯各種Qt的庫等,這裡需要編譯三次,分別 為x11版本,embedded版本和arm版本;編譯x11版只是為了得到qvfb工具,至於qvfb的用途後面自會說明;embedded版本為Qt 的嵌入式版本,將來和qvfb配合使用;arm版本很好理解,即要放到開發板上的東西。

qt-sdk-linux-x86-opensource-2010.04.bin是開發qt的IDE,這裡我用的是linux版本,用它來開發自己的Qt應用。

tslib-1.4.tar.gz為觸摸屏校正程序,編譯qt的arm版本的時候需要tslib的庫,tslib編譯後會生成觸摸屏校正程序(ts_calibrate),用來給開發板的觸摸屏進行校正。

下面是具體的移植過程:

約定:

交叉編譯器路徑:/usr/local/arm/4.3.2/bin/

源碼包路徑:/home/gu/Qt/src/

輸出目錄:/home/gu/Qt/output/

將qt-everywhere-opensource-src-4.6.3.tar.gz解壓三次,分別命名為qt-x11、qt-embedded和qt-arm

一、x11版本的編譯

首先配置,命令為:

./configure -prefix ~/gu/Qt/output/qt-x11

p { margin-bottom: 0.21cm; }然後輸入“o”,在然後輸入“yes”,下面的embedded版本和arm版本配置時也是一樣。

執行後會出現錯誤:

p { margin-bottom: 0.21cm; }

出錯:Basic XLib functionality test failed!

解決方法:sudo apt-get install libx11-dev libxext-dev libxtst-dev

然後: make && make install

編譯會持續一個多小時,取決與你電腦的配置高低,這裡有個竅門,假如你PC機的CPU是雙核的話,將make指令加上 -j3參數,會進行多線程編譯,編譯速度會大大提高,即make -j3,這時會使用兩個核心同時編譯,大家可以試試;編譯完成後qt的x11版本會被安裝在/home/gu/Qt/output/qt-x11目錄;這 時還沒與完,關鍵的qvfb程序還沒有被編譯,所以繼續:

cd tools/qvfb

make

然後將在/home/gu/Qt/src/qt-x11/bin目錄生成的qvfb程序,將它復制到電腦的/usr/sbin目錄,以後可以直接在終端執行了。

二、embedded版本的編譯

配置:

p { margin-bottom: 0.21cm; }

./configure -no-largefile -no-accessibility -no-qt3support -no-phonon -no-svg -no-nis -no-cups -no-opengl -qvfb -prefix ~/Qt/output/qt-embedded

配置完成後:

make -j3

make install

一般不會出現任何錯誤的。

三、tslib的編譯

首先:

p { margin-bottom: 0.21cm; }

export PATH=/usr/local/arm/4.3.2/bin/:$PATH

export PREFIX=/home/gu/Qt/

export CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc p { margin-bottom: 0.21cm; }

./autogen.sh

出現錯誤:./autogen.sh: 4: autoreconf: not found

解決方法:

p { margin-bottom: 0.21cm; }

sudo apt-get install autoconf automake libtool

然後重新:./autogen.sh

然後:

echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

./configure --host=arm-linux --prefix=$PREFIX --cache-file=arm-linux.cache配置完成後:make && make install

四、arm版本的編譯

首先配置:

p { margin-bottom: 0.21cm; }./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,12,16 -no-qt3support -no-qvfb -qt-mouse-tslib -prefix /home/gu/Qt/output/qt-arm/ -qt-sql-sqlite -I/home/gu/Qt/output/tslib/include

-L/home/gu/Qt/output/tslib/lib -no-rpath -no-largefile -no-accessibility

然後:make

p { margin-bottom: 0.21cm; }

出現錯誤:../../corelib/tools/qbytearray.cpp:54: fatal error: zlib.h: 沒有那個文件或目錄

解決辦法:sudo apt-get install zlib1g-dev

然後重新:make -j3

編譯完成之後make install

------------------------------------至此Qt移植完成-----------------------------------

接下來要安裝配置Qt開發環境。。。。。。。。。。。。

Qt SDK的安裝:

直接:./qt-sdk-linux-x86-opensource-2010.04.bin

會出現圖形界面安裝,跟windows上安裝程序一樣,相信大家都會。。。

安裝完成後桌面會有一個Qt creator的圖標,運行它來進行配置:

p { margin-bottom: 0.21cm; }

在Qt-creator菜單欄Tools—〉Options…打開Options窗口。

在Options界面左側,點擊Qt4—〉Qt

Versions右側顯示Qt Versions設置界面。

在Qt Versions界面中點擊那個藍色的大“╋”號圖標

在下方Version Name:文本框內輸入Qt的版本名,可以隨便填,能區分各個版本即可,如X11版取名為qt-x11、embedded版本取名qt-embedded、arm版本取名為qt-arm

p { margin-bottom: 0.21cm; }

單擊Qmake Location:右側Browse…按鈕,在彈出的“Select

QMake Executable”窗口中找到對應版本的qmake程序(x11版路徑:/home/gu/Qt/output/qt-x11/bin/qmake,embedded版路徑:/home/gu/Qt/output/qt-embedded/bin/qmake,arm版路徑:/home/gu/Qt/output/qt-arm/bin/qmake),單擊打開,回到Qt

Versions界面。

回到Qt Versions界面,單擊Debugging

Helper:右側Rebuild按鈕,等待片刻,看到Debugging

Helper:後出現一個綠色的“√”即可。

arm版本的Rebuild時會出現錯誤,解決方法為:

sudo gedit /home/gu/Qt/output/qt-arm/mkspecs/qws/linux-arm-g++/qmake.conf修改為:

QMAKE_CC = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc

QMAKE_CXX = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++

QMAKE_LINK =/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++

QMAKE_LINK_SHLIB = /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++

重新rebuild , p { margin-bottom: 0.21cm; }

添加完畢,單擊OK按鈕關閉Options窗口。

----------------------------至此qt creator配置完成--------------------------------------

至於qt creator的使用方法就要靠大家自己學習了,好了,以後就可以開發Qt應用程序了!!!

Copyright © Linux教程網 All Rights Reserved