嵌入式Qt開發環境的搭建詳解



####一、嵌入式Qt開發環境的搭建前奏 1、下載[arm-linux-gcc-4.4.3-20100728.tar.gz](http://download.csdn.net/download/zlyong0018/4646377) 2、下載[qt-everywhere-opensource-src-4.8.5.tar.gz(Qt的源碼)](http://download.qt-project.org/archive/) 3、下載[qt-creator-linux-x86_64-opensource-2.5.2.bin(我的系統是64位,所以選擇x86_64)](http://download.qt-project.org/archive/) 4、下載[tslib-1.4.tar.gz(觸摸屏校驗工具)](http://download.csdn.net/download/liuqiqi677/3177449) ####二、嵌入式Qt開發環境的搭建間奏 1、系統環境 主機操作系統:ubuntu14.04 主機編譯器:gcc4.4.3, 交叉編譯器:arm-linux-gcc-4.3.3 2、安裝交叉編譯器 (1)首先以root用戶登入 (2)復制arm-linux-gcc-4.3.2.tgz到根目錄下tmp文件夾里 (3)解壓命令tar xvzf arm-linux-gcc-4.3.2 -C /,注意以上命令必須要有-C而且是大寫的后邊有個空格也要注意 (4)配置下編譯環境路徑,在控制台下輸入 gedit /root/.bashrc 等一會出來文本編輯器后在文件最后(最后一行)加上下面代碼 export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH 重新打開一個終端,使上面的配置文件生效;輸入命令 arm-linux-gcc -v; 如果出現gcc的版本信息,就代表交叉編譯器安裝成功,會輸出gcc的版本號; 3、安裝觸摸屏校驗工具 把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-linuxac_cv_func_malloc_0_nonnull=yes 最后執行編譯命令和安裝命令如下:(1)make (2)make install 如果以上步驟沒錯,則可以在/usr/local/tslib下出現我們需要的庫文件,這些庫文件我們移植時會用到。 編譯期間出現的錯誤:./autogen.sh: 4: autoreconf: not found 解決辦法:sudo apt-get install autoconf automake libtool 編譯期間出現錯誤:make沒有指定的makefile 解決辦法:不要在虛擬機與window的共享文件中進行make,會出錯 4、安裝QtCreator 4.1 qt-creator-linux-x86_64-opensource-2.5.2.bin 拷貝到linux系統中,在終端中把路徑切換到qt-creator-linux-x86_64-opensource-2.5.2.bin所在的路徑,運行命令:./qt-creator-linux-x86_64-opensource-2.5.2.bin 就會出現圖形安裝界面;下面的安裝步驟就和我們在windows下安裝軟件差不多。 注意:下的版本要和你的操作系統相匹配,32位的系統下對應32位的應用程序; 4.2 編譯Qt庫源碼 4.2.1 解壓 將源碼qt-everywhere-opensource-src-4.8.5.tar.gz進行解壓,並復制三份到/usr/local目錄下,並分別命名為qt-pc,qt-x86,qt-arm 4.2.2 編譯PC版 進入qt-pc目錄,執行如下操作: \#./configure \#make \#make install 編譯過程中出現的問題: 出錯:g++命令未找到 這個錯誤主要是ubuntu 默認 不安裝 g++,apt-get install g++即可 出錯:Basic XLibfunctionality test failed! 這個錯誤主要是因為,XLib庫沒有安裝,所以在編譯X11平台時,應該保證,以下命令正確執行:sudo apt-get install libx11-dev libxext-dev libxtst-dev 注意:可以使用 make confclean 命令 把以前的配置信息清除掉,然后再重新配置。 [點擊獲取更詳細的步驟](http://www.cnblogs.com/1996jiwei/p/6688620.html) 4.2.3 編譯x86版 進入qt-x86目錄,執行如下操作: \# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb \# make \# make install 安裝過程比較長,沒有碰到過錯誤。 編譯安裝PC版中的 qvfb: 進入qt-pc/tools/qvfb/目錄,執行如下操作: \#make 編譯完畢,將qt-pc/bin目錄下的qvfb文件復制到/usr/local/Trolltech/QtEmbedded-4.8.5/bin目錄。 編譯qvfb時,出現了如下錯誤: x11keyfaker.cpp:48:34: 致命錯誤: X11/extensions/XTest.h:沒有那個文件或目錄 編譯中斷。make: *** [.obj/release-shared/x11keyfaker.o] 錯誤 1 解決方法:sudo apt-get install xorg-dev 如果makefile中沒有-lXtst選項,則修改makefile 中 LIBS 選項: 添加 -lXtst選項 4.2.4 編譯ARM版 必須加上“-prefix /usr/local/Trolltech/QtEmbedded-4.8.5-arm ”參數, 不然安裝后不在QtEmbedded-4.8.5-arm文件夾下,而是覆蓋了QtEmbedded-4.8.5。

# ./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
-qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib
如果放棄配置,則使用命令:# make confclean
編譯:# make
安裝:# make install

安裝完成后,在/usr/local/Trolltech目錄中有三個文件夾:Qt-4.8.5、QtEmbedded-4.8.5、QtEmbedded-4.8.5-arm。
4.3 安裝完后
4.3.1 qvfb的測試
運行qvfb,提示了如下錯誤,在網上也查了很多種解決辦法,最后還是沒有解決; 有的說要重新編譯內核,並帶上參數;覺得比較麻煩,就沒有去嘗試;不過這個錯誤並不影響我們仿真模擬Qt4程序。
4.3.2 QtCreator編譯前的配置
X86的調試編譯與調試
(1)打開QtCreator ,工具---->選項--->構建和運行 進行設置,在Qt版本菜單下,手動設置選擇qmake路徑
(2)打開QtCreator 對其進行設置,點擊左邊的項目,選擇運行,對其進行設置,在參數里添加 -qws參數
(3)編譯與運行,現在終端 輸入命令:qvfb -width 800 -height 480 & 打開虛擬緩沖端;然后就可以在QtCreator對程序進行編譯、運行了;
關於ARM移植的那部分還沒有做,等以后自己做的話,再補充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM