嵌入式Qt開發環境的搭建

2021-08-03 02:46:43 字數 3640 閱讀 4376

按照不同的圖形介面來劃分,分為四個版本:

win32版:適用於windows平台;

x11版:適用於各種x系統的linux和unix平台;

mac版:適用於蘋果的macos;

embedded版:適用於具有幀緩衝(frame buffer)的linux平台;

qtopia是基於qt開發的乙個軟體平台,qtopia是構建於qt/e之上的一系列應用程式,在這個平台上我們可以開發各種應用程式。

總的來說,qt也就三種:面向桌面的x11、面向嵌入式的qt/e、以及面向嵌入式帶各種應用程式的qtopia桌面系統。

構建qt/embeded的交叉編譯環境需要3個qt開發環境:

qt的桌面開發環境:在linux中全安裝qt,用它編譯好的程式後,可以直接用「./」執行。

qt/embeded(x86)環境:在宿主機平台模擬編譯和除錯目標機程式的環境,帶有qvfb功能,在pc機上可以模擬應用程式在arm開發板上的運**況。用此編譯好的程式,只用「./」命令不可以執行,必須加上引數 -qvfb -qws。

qt/embeded(arm)交叉編譯環境:編譯好的程式,用於在arm平台上執行。

首先要準備好交叉編譯所需要的軟體包:

gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2(交叉編譯環境)

qt-everywhere-opensource-src-5.9.0.tar.xz(qt的原始碼)

qt-creator-linux-x86_64-opensource-2.5.2.bin(我的系統是64位,所以選擇x86_64)

tslib-1.4.tar.gz(觸控螢幕校驗工具)

qt開發環境搭建

安裝qtcreator

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下安裝軟體差不多。

編譯qt庫原始碼

將原始碼 qt-everywhere-opensource-src-5.9.0.tar.xz 進行解壓,並複製三份到/usr/local目錄下,並分別命名為qt-pc,qt-x86,qt-arm。

編譯pc版

進入qt-pc目錄,執行如下操作:

$./configure

$ make

$make install

編譯過程中出現的問題:

出錯:basic xlibfunctionality test failed!

這個錯誤主要是因為,xlib庫沒有安裝,所以在編譯x11平台時,應該保證,以下命令正確執行:

sudo apt-get install libx11-dev  libxext-dev libxtst-dev
注意:可以使用 make confclean 命令 把以前的配置資訊清除掉,然後再重新配置。

編譯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-5.9.0/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選項

編譯arm版

必須加上「-prefix /usr/local/trolltech/qtembedded-5.9.0-arm 」引數, 不然安裝後不在qtembedded-5.9.0-arm資料夾下,而是覆蓋了qtembedded-5.9.0。

# ./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

開發環境 嵌入式驅動開發環境搭建

2 開發環境 2 1 編譯工具 安裝sudo tar zvxf arm linux gcc 4.3.2.tgz c 配置系統環境變數 sudo vi etc profile 或 bashrc 在檔案最後新增交叉編譯路徑 path path usr local arm 4.3.2 bin export...

嵌入式Linux NFS開發環境搭建

參考該文章 還有該文章 可以完成本地的測試,實現nfs伺服器的安裝與配置,將 home yang 掛載到 mnt nfs 檔案目錄下。但是i.mx53開發板 ifconfig 只有 lo 沒有 eth0 輸入 ifconfig a 可以看到 eth0,但是mac位址為全0。ifconfig eth0...

Linux 嵌入式開發環境搭建

主機 ubuntu14.04 開發板 tq210v3 開始載命令列模式下直接安裝了乙個arm linux gcc sudo apt get install gcc arm linux gnueabi但是用這個編譯了乙個hello world的程式後無法在開發板上執行,提示 hello not fou...