您的位置:首页 > 编程语言 > Qt开发

交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)

2014-02-13 11:08 591 查看
准备工作:

交叉编译工具:

arm-hisiv200-linux-gnueabi

Qt安装包:

qt-everywhere-opensource-src-4.8.4.tar.gz

安装

一.安装交叉编译工具

1.本机使用的交叉编译工具是:arm-hisiv200-linux-gnueabi

安装过程从略。

a. 执行:arm-hisiv200-linux-g++ -v

b. 执行:arm-hisiv200-linux-gcc -v

如果以上两步都能正确打印对应的版本信息,则表明arm-hisiv200-linux-gnueabi编译工具

已安装成功!

二.交叉编译ARM版Qt

1.下载Qt源码包 qt-everywhere-opensource-src-4.8.4.tar.gz;

2.解压Qt源码包

tar -xvfz qt-everywhere-opensource-src-4.8.4.tar.gz

3.修改文件: $(QT)/mkspecs/qws/linux-arm-g++/qmake.conf

# 设置交叉编译工具链:

# 本项目使用的交叉编译工具是
arm-hisiv200-linux-g++

#

QMAKE_CC =
arm-hisiv200-linux-gcc

QMAKE_CXX =
arm-hisiv200-linux-g++

QMAKE_LINK =
arm-hisiv200-linux-g++

QMAKE_LINK_SHLIB =
arm-hisiv200-linux-g++

QMAKE_AR =
arm-hisiv200-linux-ar cqs

QMAKE_OBJCOPY =
arm-hisiv200-linux-objcopy

QMAKE_STRIP =
arm-hisiv200-linux-strip

4.(如有需要,需修改g++.conf文件)

修改文件:
$(QT)/mkspecs/common/g++.conf

# 设置使用ARM高级特性的编译标志:

#

QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp

5.配置Qt编译选项

进入Qt解压目录,执行如下命令:

./configure -prefix /usr/local/qt-4.8.4-install -embedded arm -host-little-endian -no-cups -no-3dnow -nomake examples -nomake demos -nomake docs -xplatform /qws/linux-arm-g++

6.执行 make 命令;

该步骤大致需要2~3个小时

7.执行 make install 命令;

8.修改用户环境变量

export ARMQTDIR=/usr/local/qt-4.8.4-install

export PATH=$ARMQTDIR/bin:$PATH

export MANPATH=$ARMQTDIR/man:$MANPATH

export LD_LIBRARY_PATH=$ARMQTDIR/lib:$LD_LIBRARY_PATH

9.测试 ARM 版 QT 是否安装并配置成功:

a. 执行:qmake -v

打印以下对应信息:

QMake version 2.01a

Using Qt version 4.8.4 in
/usr/local/qt-4.8.4-install/lib

b. 执行:which qmake

打印以下对应信息:

/usr/local/qt-4.8.4-install /bin/qmake

c. 编写一个简单的测试程序,文件名为hello.cpp,进入该文件目录,进行工程编译,看是否能正确通编译

hello.cpp源码:

#include <QApplication>

#include <QDebug>

int main(int argc,char *argv[])

{

qDebug("Hello, welcome to Qt world!");

return 0;

}

顺序执行以下操作:

@1. 执行:qmake -project hello1.cpp

生成 hello1.pro 工程文件

@2. 执行:qmake hello1.pro

生成 Makefile 文件

@3. 执行:make

生成 hello.o, hello 文件

如果执行@2步骤时出现以下错误:

QMAKESPEC has not been set, so configuration cannot be deduced.

Error processing project file: hello1.pro

则是 QMAKESPEC 变量没有设置好,执行:

export QMAKESPEC=/usr/local/qt-4.8.4-install/mkspecs/qws/linux-arm-g++

如果以上对应的信息都能正确打印,说明 ARM 版 QT 安装并配置成功,大功告成,可以你的ARM版QT之旅了!

友情提示:

在以上所有过程中,请务必注意相关路径,及环境变量的配置,另外,请根据自己的路径对相应部分做修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: