基於ARM的Qt Creator嵌入式開發環境搭建

2021-07-06 04:11:10 字數 3908 閱讀 3667

平台:ubnutu10.04

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

在qtqt-everywhere-opensource-src-4.8.1.tar

,解壓為3

份,可分別命名為

qt-x11

,qt-x86

qt-armqt-x11版本可以產生

qt開發工具:

designer——qt介面的設計工具

qvfb——qt的虛擬緩衝幀,嵌入式的開發有了

qvfb

,就可以不需要實際的開發板,也可以開發

qt應用程

uic——可以把

qt的介面描述檔案轉化為相應的 .h和

.cpp

檔案moc——把

qt的訊號和插槽的定義翻譯為標準的

c++語法

qt-x86是基於

x86架構的嵌入式版本:

如果我們想在pc

機上進行嵌入式程式的**,就可以用

qvfb

來模擬嵌入式的顯示器,但是

qvfb

只能執行

x86架構的應用程式,所以需要生成關於

x86的庫和其他檔案,如果不需要在

pc機上**執行嵌入式程式,而是在板子上直接執行和除錯,則可以不需要這個版本

qt-arm是基於

arm架構的嵌入式版本:

我最終的qt

應用程式需要在

arm架構上面執行,因此必然需要這方面的庫,使用

qt-arm

庫編譯就可以得到在

arm上能執行的可執行程式

step 1:unpacking the archive

tar xvf qt-everywhere-opensource-src-4.8.2.tar # unpack it

step 2:building the library

cd /tmp/qt-everywhere-opensource-src-4.8.2 

./configure

make

make install

step 3:set the environment variables

in .profile (if your shell is bash, ksh, zsh or sh), add the following lines:

path=/usr/local/trolltech/qt-4.8.2/bin:$path 

export path

進入x86

目錄# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb

# make

# make install

把tslib-1.4.tar.gz

放到乙個目錄下,比如

/opt

目錄下。接著執行命令如下:

#tar zxvf tslib-1.4.tar.gz 

執行命令cd tslib

,進入tslib

當前目錄

,接著執行命令如下

#./autogen.sh 

然後接著執行配置命令:

#./configure

--prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 

最後執行編譯命令和安裝命令如下:

make 

make install 

如果以上步驟沒錯,則可以在/usr/local/tslib

下出現我們需要的庫檔案,這些庫檔案我們移植時會用到。

編譯期間出現的錯誤:./autogen.sh: 4: autoreconf: not found

解決:sudo apt-get install autoconf automake libtool

進入arm

目錄# ./configure \

-prefix 

/usr/local/trolltech/qtembedded-4.6.3-arm \ 

-opensource \

-confirm-license \

-release -shared \

-embedded arm \

-xplatform qws/linux-arm-g++ \

-depths 16,18,24 \

-fast \

-optimized-qmake \

-pch \

-qt-sql-sqlite \

-qt-libjpeg \

-qt-zlib \

-qt-libpng \

-qt-freetype \

-little-endian 

-host-little-endian \

-no-qt3support \

-no-libtiff 

-no-libmng \

-no-opengl \

-no-mmx 

-no-sse 

-no-sse2 \

-no-3dnow \

-no-openssl \

-no-webkit \

-no-qvfb \

-no-phonon \

-no-nis \

-no-opengl \

-no-cups \

-no-glib \

-no-xcursor 

-no-xfixes 

-no-xrandr 

-no-xrender \

-no-separate-debug-info \

-nomake examples 

-nomake 

tools 

-nomake docs

必須加上「-prefix /usr/local/trolltech/qtembedded-4.8.1-arm 」

引數,不然安裝後不在

qtembedded-4.8.1-arm

資料夾下,而是覆蓋了

qtembedded-4.8.1

如果放棄配置,則使用命令:# make confclean

編譯:# make

安裝:# make install

編譯安裝pc

版中的 

qvfb

進入

qt-pc/tools/qvfb/目錄,執行如下操作:

#make

編譯完畢,將

qt-pc/bin目錄下的

qvfb

檔案複製到

/usr/local/trolltech/qtembedded-4.8.

1/bin目錄。

測試qvfb:

為了方便使用qvfb

模擬arm

的結果,在環境中新增

qvfb

的路徑輸入命令: 

vim/.bashrc編輯

.bashrc

檔案,在檔案末尾加入如上面的內容

export path=/usr/local/trolltech/qtembedded-4.8.

1/bin:$path

重啟,測試是否加入成功 

echo $path

看是否顯示剛才新增的路徑 測試

命令:#qvfb -width 800 -height 480 &

其中&表示後台執行。

qtcreator遠端除錯arm板的介面程式

該類文章網上比較多。自己總結了一下。1.搭建nfs檔案系統 在虛擬機器上修改 etc exports檔案加入 mnt nfs 192.168.10.100 rw,root squash 共享 mnt nfs 目錄給192.168.10.100的機器即arm板 在arm板的終端執行mount t nf...

Qtcreator配置 交叉編譯arm程式

大家知道在windows下使用qtcreator整合ide開發環境開發qt程式,甚至是其他與qt無關的程式,在此過程中大家也可能感受到了它的魅力,呵呵,那麼,各位朋友有沒有使用它在linux下開發自己的程式了?更有甚者,用它來交叉編譯arm程式了?答案是可能的,而且相當方便。好了,下面我來帶大家感受...

QtCreator使用arm編譯器

構建工具鏈各種不和諧,心一狠,直接改最原始的配置檔案 1.首先你得有乙個arm gcc的編譯器,至少能看版本 arm linux gcc v 2.然後在qt的安裝目錄上找到 opt qtsdk desktop qt 474 gcc mkspecs linux g 把它複製貼上arm linux g ...