如何在TI AM3358 (英贝特SBC8600B)ARM Linux环境中搭建QT运行环境

如何在TI AM3358 (英贝特SBC8600B)ARM Linux环境中搭建QT运行环境

我们通常都会使用Qt在ARM Linux下开发带有界面的应用程序。这样我们就需要在没有Qt环境的linux板卡上安装环境。
通常有三个步骤。
1. 下载开源qt库。
2. 编写configure文件
3. 配置qmake.conf
4. 编译,安装qt库
5. 移植环境到ARM板卡
我使用TI 的AM3358板卡作为安装环境的例子向大家演示:

1. 开发环境

主机:Ubuntu12.04 32bit
Arm板:
硬件:AM3358
系统:linux 3.2.0
编译器版本:GCC 4.3.3

2. 下载开源qt库

开源库可以从Qt官方网站下载,我的文件为qt-everywhere-opensource-src-4.7.2.tar.gz。该Qt版本为4.7.2。
注:Qt的版本通常都受制于你的ARM板卡的Linux系统GCC编译版本。低版本的GCC将无法编译通过高版本的Qt。如我所选用板卡的GCC版本为4.3.3就无法编译Qt5.0.0以上的版本。由于QT5需要C++11的支持,故而最低的GCC版本也需要4.7以上。
将开源库解压在你的主机Linux中。

3. 编写configure文件

在Qt的解压文件下创建一个脚本文件configure.sh,添加内容如下:

./configure \
-prefix /home/jerry/am3358/qt4.7.2/qt \     #这里指定了开源qt库的路径
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-gnueabi-g++ \      #这里指定了qmake.conf的路径
-depths 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-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环境支持的功能。

4. 配置qmake.conf

通常原厂都会在自己的ARM芯片添加一些特性,所以qmake.conf文件将会根据芯片做一些修改。
我的该文件如下:

# qmake configuration for building with arm-linux-g++


include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

# modifications to g++.conf
#Toolchain

#Compiler Flags to take advantage of the ARM architecture
QMAKE_CFLAGS_RELEASE =   -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

QMAKE_CC = /home/jeremy/am3358/arm-2009q1/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX = /home/jeremy/am3358/arm-2009q1/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK = /home/jeremy/am3358/arm-2009q1/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB = /home/jeremy/am3358/arm-2009q1/bin/arm-none-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR = /home/jeremy/am3358/arm-2009q1/bin/arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = /home/jeremy/am3358/arm-2009q1/bin/arm-none-linux-gnueabi-objcopy
QMAKE_STRIP = /home/jeremy/am3358/arm-2009q1/bin/arm-none-linux-gnueabi-strip

load(qt_config)

注:
1. /home/jeremy/am3358/arm-2009q1/bin/arm-none-linux-gnueabi- 是我的gcc工具的绝对路径
2. QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
是厂家根据其内核给出的配置

5. 编译,安装qt库

在Qt开源库目录下执行source configure.sh。
待配置完毕后执行make命令。
待编译完成后执行make install INSTALL_ROOT=/home/ qt4.7.2命令。将会在/home/ qt4.7.2安装该Qt库。

6. 移植环境到ARM板卡

将/home/ qt4.7.2/qt/lib下的文件复制到ARM板的/home路径下。
在ARM板的终端下执行如下命令配置环境:

export LD_LIBRARY_PATH=/home/lib
export QT_QWS_FONTDIR=/home/lib /fonts

Qt环境在ARM Linux的搭建就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值