一、硬體
arm : i.MX6
Linux : untuntu 12.0.4
二、安裝交叉編譯環境
1、 下載下傳 fsl-linaro-toolchain.tar.gz 然後解壓到 /opt下面,當然可以更換自己喜歡的目錄。為什麼選擇這個gcc,是因為我的闆子是i.MX6,如果是其他闆子,選擇對應的gcc.
2、 下載下傳QT。在http://qt-project.org/downloads
下載下傳Qt libraries 4.8.6 for embedded Linux(230 MB),得到檔案qt-everywhere-opensource-src-4.8.6.tar.gz
3、 把qt-everywhere-opensource-src-4.8.6.tar.gz拷貝到/opt,解壓。
4、 修改配置
在/opt/qt-everywhere-opensource-src-4.8.6/mkspecs/qws/linux-arm-gnueabi-g++下,修改qmake.conf檔案(其他闆子,選擇其他對應的編譯器),
#
# qmake configuration for building witharm-none-linux-gnueabi-g++
#
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)
# modifications to g++.conf
QMAKE_CFLAGS = -march=armv7-a -mfpu=neon-mfloat-abi=softfp
QMAKE_CXXFLAGS = -march=armv7-a -mfpu=neon-mfloat-abi=softfp
QMAKE_CC =/opt/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-gcc
QMAKE_CXX =/opt/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++
QMAKE_LINK =/opt/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++
QMAKE_LINK_SHLIB =/opt/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = /opt/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-arcqs
QMAKE_OBJCOPY =/opt/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-objcopy
QMAKE_STRIP = /opt/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-strip
load(qt_config)
這裡的arm-fsl-linux-gnueabi-g++需要添加絕對路徑/opt/fsl-linaro-toolchain/bin/,不然後面make的時候報錯了,說找不到arm-fsl-linux-gnueabi-g++,我明明有添加環境變量的,但出現了這個錯誤,不懂。
5、 configure
在/opt/ qt-everywhere-opensource-src-4.8.6/下建立myconfigure.sh檔案:
#!/bin/sh
sudo ./configure \
-prefix /usr/local/qte-arm/ \ #你的安裝路徑
-force-pkg-config \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-gnueabi-g++ \
-depths 2,4,8,12,16,18,24,32 \ #顔色深度
-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 \
然後修改myconfigure.sh的權限,執行指令./ myconfigure.sh
6、 執行指令:sudo make
7、 執行指令:sudo make install。安裝完成。
qt creator
1、下載下傳安裝qt creator 到untuntu x86 系統
2、配置qt creator,qt版本選擇 /usr/local/qte-arm/bin/qmake,
編譯器選擇 /opt/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++
然後建構完成。
QTE移植
壓縮/usr/local/qte-arm/lib,得到lib.tar.gz,然後把lib.tar.gz拷貝到arm闆子的/usr/local/qte-arm下面,解壓即可,關鍵是交叉編譯環境和闆子環境的qt路徑應該要一緻。