交叉编译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之旅了!
友情提示:
在以上所有过程中,请务必注意相关路径,及环境变量的配置,另外,请根据自己的路径对相应部分做修改。
交叉编译工具:
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之旅了!
友情提示:
在以上所有过程中,请务必注意相关路径,及环境变量的配置,另外,请根据自己的路径对相应部分做修改。
相关文章推荐
- DM8168 --交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)
- 交叉编译ARM版Qt(qt-everywhere-opensource-src-4.8.4)
- DM8168 --交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)
- 交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)
- 交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.7.3) .
- 交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.7.3)
- 基于Ubuntu14.04环境下编译qt-everywhere-opensource-src-5.6.1配置qt creater 的arm编译器环境并移植到tiny210v2开发板上
- 交叉编译qt-everywhere-opensource-src-4.6.2需要的几个包
- 交叉编译qt-everywhere-opensource-src-4.7.3,Qte编译
- 交叉编译qt-everywhere-opensource-src-4.6.2需要的几个包
- qt-everywhere-opensource-src-4.8.4 编译出错
- 交叉编译qt4.8.4 for ARM
- 配置编译安装arm平台qt库qt-everywhere-opensource-src-4.8.5
- [交叉编译qt4.8.4 for ARM]遇到到问题
- qt-everywhere-opensource-src-5.6.2 编译
- QT-everywhere-opensource-src-4.8.0 移植arm飞凌6410 过程记录(ubuntu11.10+arm-linux-gcc-4.3.2)
- 【qt4.8.6】qt-everywhere-opensource-src-4.8.6静态库编译,搭建vs2010 + Qt4.8.6环境
- 交叉编译qt-everywhere-4.8.4
- qt-everywhere-4.7.3-ARM交叉编译移植(一)
- qt-everywhere-4.7.3-ARM交叉编译移植(二)