天天看點

i.MX6移植QT

一、硬體

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路徑應該要一緻。