搭建嵌入式Qt開發環境

先說說Qt源碼包,我剛裝Qt的時候非常亂,又有x11的,又有embedded的,還有everywhere的。現在明白了,安裝x11,可以開發在pc機下運行的應用程序,並且會生成一些Qt開發工具designer和qvfb。安裝embedded ,可以開發在開發板上運行的Qt應用程序。使用everywhere,需要解壓三份,使用不同的configure參數可以安裝不同平臺的Qt,包括前面說的兩種。分別爲x11,x86,arm。x86的程序可以運行在qvfb裏。這就可以不用開發板了。如果是windows裝Qt的話,只需要下載個exe文件直接安裝就行了。要配置環境變量。(最後再說)

再說說windows和linux下的Qt程序。

windows 下的Qt和Linux下的Qt可以一樣用的,只要在新的系統裏再重新使用qmake -project ;qmake;make(windows下是mingw32-make)三個命令編譯一下就行了。一定要設置好環境變量啊,否則找不到命令

一、.嵌入式Qt程序開發環境的搭建。

第一步:PC機安裝Qt。

ftp://ftp.qt.nokia.com/qt/source下載Qt的源碼包。qt-everywhere-opensource-src-4.8.1.tar.gz 放到/root/Qt目錄下。

tar -zxvf qt-everywhere-opensource-src-4.8.1.tar.gz 命令解壓,將解壓後的目錄名稱改爲qtx11.

#cd qtx11

#./configure

#gmake(這一步的時間相當長,四五個小時)

#gmake install

這是就安裝好了,安裝在/usr/local/Trolltech/Qt-4.8.1

#export PATH=” /usr/local/Trolltech/Qt-4.8.1/bin:$PATH”

#qmake -v(如能輸出版本號,則說明安裝成功)

接下來編譯qvfb。

#cd /root/Qt/qtx11/tools/qvfb

#gmake

#cp /root/Qt/qtx11/bin/qvfb /bin

#qvfb(如果能出現一個虛擬窗口,那麼說明編譯成功了)

第二步:安裝Qt for x86

#cd /root/Qt/

#tar -zxvf qt-everywhere-opensource-src-4.8.1.tar.gz命令解壓,將解壓後的目錄名稱改爲qtx86.

#cd qtx86

#./configure-embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb(這個命令可以使應用程序在qvfb裏運行,節省開發板)

#gmake(很長時間)

#gmake install

安裝目錄在/usr/local/Trolltech/QtEmbedded-4.8.1/

#export PATH="/usr/local/Trolltech/QtEmbedded-4.8.1/bin:$PATH"

#qmake –v (如能輸出版本號,則說明安裝成功)

將上一步中編譯好的qvfb複製到/usr/local/Trolltech/QtEmbedded-4.8.1/bin中。

第三步:安裝交叉編譯工具,arm-linux-gcc,我的版本是4.3.2

#tar xvzf arm-linux-gcc-4.3.2.tgz -C / (C需要大寫,解壓後安裝在/usr/local/arm/4.3.2/

#vi /etc/profile (添加PATH)

添加如下內容exportPATH="$PATH:/usr/local/arm/4.3.2/bin"

#arm-linux-gcc -v (如果輸出版本號說明安裝成功)

第四步:交叉編譯tslib-1.4

下載tslib-1.4.tar.gz放到/root/Qt/目錄下

#cd /root/Qt/

#tar zxvf tslib-1.4.tar.gz

#cd tslib

#export CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc //設定C編譯器

#export CXX=/usr/local/arm/4.3.2/bin/arm-linux-g++ //設定C++編譯器

#./autogen.sh (如果運行有錯誤則需要安裝autoconf、automake、libtool (如yum installautoconf))

#echo"ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache //避免檢查ac_cv_func_malloc_0_nonnull

# ./configure--host=arm-linux --cache-file=arm-linux.cache-prefix=/usr/local/tslib

#gmake

#gmake install (安裝在/usr/local/tslib裏面)

#vi/usr/local/tslib/etc/ts.conf (修改ts.conf) 最後內容如下:

module_raw input

module pthres pmin=1

module variance delta=30

module dejitter delta=100

module linear

(以下是在對應的開發版上使用,)

將上面整個/usr/local/tslib的內容下載到開發版裏的對應路徑下在(/usr/local/)

配置環境變量

添加如下內容:

exportTSLIB_ROOT=/usr/local/tslib

exportTSLIB_TSDEVICE=/dev/input/event0

exportTSLIB_CALIBFILE=/etc/pointercal

exportTSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf

export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts

export TSLIB_FBDEVICE=/dev/fb0

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

然後重啓開發板,在終端輸入./ts_calibrate會出現觸摸屏五點校準畫面,移植成功。

不過我輸入命令後沒有成功,只是把庫函數都挪了過來。

第五步:安裝Qt for arm

#cd /root/Qt/

#tar zxvf qt-everywhere-opensource-src-4.8.1.tar.gz命令解壓,將解壓後的目錄名稱改爲qtARM.

#cd qtARM

#./configure –embedded arm –xplatform qws/linux-arm-g++-qt-mouse-tslib-I/usr/local/tslib/include -L/usr/local/tslib/lib

#gmake

#gmake install

安裝目錄在/usr/local/Trolltech/QtEmbedded-4.8.1-arm/

#export PATH=”/usr/local/Trolltech/QtEmbedded-4.7.1-arm/bin:$PATH”

然後輸入#qmake –v(如能輸出版本號,則說明安裝成功)

第六步:建立三個文件,用於三個環境變量的設置

#vi ~/.setenv-qtx11.sh

內容如下

export PATH=/usr/local/Trolltech/Qt-4.8.1/bin:$PATH

export QTDIR=/usr/local/Trolltech/Qt-4.8.1/

export LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.8.1/lib:$LD_LIBRARY_PATH

#vi ~/.setenv-qtx86.sh

內容如下

export PATH=/usr/local/Trolltech/QtEmbedded-4.8.1-arm/bin:$PATH

export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.8.1-arm/

exportLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.8.1-arm/lib:$LD_LIBRARY_PATH

#vi ~/.setenv-qtARM.sh

內容如下

export PATH=/usr/local/Trolltech/QtEmbedded-4.8.1/bin:$PATH

export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.8.1/

exportLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.8.1/lib:$LD_LIBRARY_PATH

接下來是如何使用:

假設已經有一個工程目錄是hello。

(1)想在電腦上運行。

#source ~/.setenv-qtx11(使環境變量生效)

#cd hello

#qmake -project

#qmake

#make

#./可執行文件

這樣就可以了

(2)想在qvfb上運行

#source ~/.setenv-qtx86(使環境變量生效)

#cd hello

#qmake -project

#qmake

#make

#qvfb &(打開qvfb,如果出錯的話,就打開x11裏的qvfb)

#./可執行文件 -qws

(3)想在開發板上運行

#source ~/.setenv-qtARM(使環境變量生效)

#cd hello

#qmake -project

#qmake

#make

這時的可執行文件就只能在開發板運行了。下載到開發板

(開發板裏需要有Qt的庫,直接從pc機裏拷過來就行了,,將/usr/local/Trolltech/QtEmbedded-4.8.1/lib下的libQtGui.so* 、libQtCore.so*、libQtNetwork.so* 複製到開發板目錄的/usr/lib目錄下。將交叉編譯器lib目錄下的libstdc++.so*、libpng.so* 複製到開發板目錄/usr/lib目錄下。)

設置開發板環境變量

#exportLD_LIBRARY_PATH=/usr/local/tslib/lib:/usr/lib/:$LD_LIBRARY_PATH

這時可以執行編譯好的Qt程序了。到程序所在目錄下再執行

./可執行文件 -qws

上述內容爲linux下的環境配置。

假設windows下安裝的是Qt-2009-05,安裝目錄在D:/Qt/2009.05/

在我的電腦->屬性->高級->環境變量 ,編輯path變量。添加如下內容

;D:\Qt\2009.05\mingw\bin;D:\Qt\2009.05\qt\bin

這樣就可以使用qmake -project、qmake、mingw32-make命令

轉載http://blog.csdn.net/mynameislu/article/details/7791366

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章