按照不同的圖形介面來劃分,分為四個版本:
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...