QT4.5.3在海思3520A上移植步骤-修订版

2015年3月29日星期日, 16:59:03

1.首先要保证已经安装了海思的交叉编译器;

#arm-hi  + Tab key to show which toolchainhave been installed

[root@roger]#arm-hi

arm-hisiv100nptl-linux-addr2line  arm-hisiv100nptl-linux-gprof

arm-hisiv100nptl-linux-ar         arm-hisiv100nptl-linux-ld

arm-hisiv100nptl-linux-as         arm-hisiv100nptl-linux-nm

arm-hisiv100nptl-linux-c++        arm-hisiv100nptl-linux-objcopy

arm-hisiv100nptl-linux-c++filt    arm-hisiv100nptl-linux-objdump

arm-hisiv100nptl-linux-cpp        arm-hisiv100nptl-linux-ranlib

arm-hisiv100nptl-linux-g++        arm-hisiv100nptl-linux-readelf

arm-hisiv100nptl-linux-gcc        arm-hisiv100nptl-linux-size

arm-hisiv100nptl-linux-gcc-4.4.1  arm-hisiv100nptl-linux-strings

arm-hisiv100nptl-linux-gccbug     arm-hisiv100nptl-linux-strip

arm-hisiv100nptl-linux-gcov

2.下载qt-embedded-linux-opensource-src-4.5.3;

下载地址:

2.1 官网地址:

ftp://ftp.qt.nokia.com/qt/source/qt-embedded-linux-opensource-src-4.5.3.tar.gz

2. 2百度网盘:http://pan.baidu.com/wap/shareview?&shareid=2505547396&uk=1627858430&dir=%2F%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0%E5%B5%8C%E5%85%A5%E5%BC%8FLinux%E7%9A%84QT%E7%BC%96%E7%A8%8B%E5%BC%80%E5%8F%91%E8%BD%AF%E4%BB%B6&page=1&num=20&fsid=1830301785&third=0

3.更改qt-embedded-linux-opensource-src-4.5.3/mkspecs/qws/linux-arm-g++/qmake.conf如下

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

include(../../common/linux.conf)

include(../../common/qws.conf)

# modificationsto g++.conf

#arm-hi  + Tab key to show which toolchainhave been installed

CCHEAD?= arm-hisiv100nptl-linux-

QMAKE_CC                = $(CCHEAD)gcc

QMAKE_CXX               =$(CCHEAD)g++

QMAKE_LINK              =$(CCHEAD)g++

QMAKE_LINK_SHLIB        = $(CCHEAD)g++

#modifications to linux.conf

QMAKE_AR                = $(CCHEAD)ar cqs

QMAKE_OBJCOPY           =$(CCHEAD)objcopy

QMAKE_STRIP             = $(CCHEAD)strip

load(qt_config)

4.配置qt-embedded-linux-opensource-src-4.5.3

cd   qt-embedded-linux-opensource-src-4.5.3

./configure -embedded arm \

-qt-libpng \

-qt-libjpeg \

-qt-libtiff \

-qt-libmng \

-qt-gif \

-qt-zlib \

-fast \

-no-webkit \

-nomake examples \

-nomake demos \

-static \

-little-endian\

--prefix=/usr/local/qt-4.5.3

其中 --prefix是编译QT后要安装的路径,可以根据自己实际情况更改。

5.编译QT库  --  此处较为耗时,大概30min

gmake

6. 安装QT库

gmake install

7.更改虚拟机的环境变量

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

export  PATH="/usr/local/qt-4.5.3/bin":$PATH

要根据实际情况更改上边的2个环境变量。/usr/local/qt-4.5.3是自定义的QT的安装路径

8.检查QT环境变量是否设置成功。

输入 which  qmake 后显示路径应该是QT安装目录里的qmake.

[root@rogerqt-4.5.3]# which  qmake

/usr/local/qt-4.5.3/bin/qmake

9.qt 库安装完成。

==========================================================================

安装过程中的相关出错信息:

1、

g++ -c -pipe -fno-exceptions -O2 -Wall -W -D_REENTRANT -fPIC -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-x86-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-static-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I.moc/release-static-emb-arm -o .obj/release-static-emb-arm/qfutureinterface.o concurrent/qfutureinterface.cpp
{standard input}: Assembler messages:
{standard input}:407: Error: no such instruction: `swpb %cl,%al,[%esi]'
{standard input}:420: Error: no such instruction: `swpb %al,%dil,[%esi]'
{standard input}:431: Error: no such instruction: `swpb %cl,%al,[%esi]'
{standard input}:1025: Error: no such instruction: `swpb %cl,%al,[%esi]'
.
.
.
.
.
. {standard input}:6283: Error: no such instruction: `swpb %cl,%al,[%edi]'
{standard input}:6296: Error: no such instruction: `swpb %al,%sil,[%edi]'
{standard input}:6307: Error: no such instruction: `swpb %cl,%al,[%edi]'
gmake[1]: *** [.obj/release-static-emb-arm/qfutureinterface.o] 错误 1
gmake[1]: Leaving directory `/root/Download/qt-embedded-linux-opensource-src-4.5.3/src/corelib'
gmake: *** [sub-corelib-make_default-ordered] 错误 2
[root@roger qt-embedded-linux-opensource-src-4.5.3]#

检索 Log信息 发现: 交叉编译工具链的名称写错了, 修正后即可;

2、

The target system byte order could not be detected!
Turn on verbose messaging (-v) to see the final report.
You can use the -little-endian or -big-endian switch to
./configure to continue.

根据提示信息 可知: 未指定 大小端 模式, 指定      -little-endian 即可;

/*  测试 大小端 模式 Sample, 编译执行文件 到目标机运行即可 */
#include "stdio.h"
int main()
{
union w
{
int a; //4 bytes
char b; //1 byte
} c;
c.a=1;
if (c.b==1)
printf("It is Little_endian!\n");
else
printf("It is Big_endian!\n");
return 1;
}

Step 4:

# ./configure -embedded arm  -qt-libpng -qt-libjpeg -qt-libtiff -qt-libmng -qt-gif -qt-zlib  -fast -no-webkit -nomake examples -nomake demos-little-endian -static --prefix=/usr/local/qt-4.5.3

QT-Embedded-4.5.3在海思35xx上移植的更多相关文章

  1. 海思3519A上移植OpenCV3.x

    环境安装与准备 下载opencv3.4.1. 或者 下载opencv3.2.0. 进入到opencv所在的目录新建目录build,install 安装cmake: apt-get install cm ...

  2. 在海思芯片上使用GDB远程调试

    1 前言 使用海思平台上(编译工具链:arm-himix200-linux)交叉编译 GDB 工具(使用版本8.2,之前用过10.2的版本,在编译 gdbserver 遇到编译出错的问题,因为关联了其 ...

  3. 海思3519 qt ffmpeg 软解码播放avi

    在海思3519上基于qt采用ffmpeg对avi进行解码显示,其中ffmpeg的配置,qt的配置在前文中已经说明,在此不再赘述. 解码 解码在单独的线程中进行,具体的代码如下: void VideoP ...

  4. 海思板卡SATA最佳读写块大小测试

    1    引言 应需求,在海思板子上测试SATA读写速度,用dd指令,每次分别读/写不同大小的块    (bs),同时检测运行dd命令CPU占比,记录读/写速度和CPU占比. 2    实验过程 2. ...

  5. 海思hi3516 ive运动目标检测简单实现

    在做车牌识别项目,通过先对识别区域内进行目标识别,能降低CPU的占用率,在检测到有运动目标的时候,再做车牌识别. //图像差分 s32Ret = HI_MPI_IVE_Sub(&IveHand ...

  6. 海思3559A QT 5.12移植(带webengine 和 opengl es)

    海思SDK版本:Hi3559AV100_SDK_V2.0.1.0 编译器版本:aarch64-himix100-linux-gcc 6.3.0(这个版本有点小问题,使用前需要先清除本地化设置) $ e ...

  7. 海思3519A 移植 Qt 5.5.1

    源码下载 网址:qt-everywhere-opensource-src-5.5.1.tar.gz 配置生成MakeFile 文件 解压源码包,在源码包路径下生成配置 MakeFile : ./con ...

  8. cryptopp使用Qt mingw编译,以及海思平台交叉编译

    编译工程生成,使用qmake生成qt工程文件(海思平台时,要用海思平台的qmake),将 TEMPLATE = app 修改为: TEMPLATE = lib 添加如下: win32:LIBS += ...

  9. 海思 3520D 移植Qt4.5.3 一

    一.移植Qt4.5.3  1.获得 Qt4.5.3 的源码Qt4.5.3源码的原始包 qt-embedded-opensource-src-4.5.3.tar.gz 将其复制到 /opt 下,     ...

随机推荐

  1. Codeforces Round #179 (Div. 1)

    A 直接线段树过的 两遍 貌似大多是标记过的..注意long long #include <iostream> #include <cstdio> #include <c ...

  2. 树莓派 VNC 远程桌面 同一个桌面

    如何在ssh登录的情况下配置好vino 1.传输文件 2.ssh sudo dpkg -i ~/swap/deb/tight* sudo cp ~/swap/vino.desktop /etc/xdg ...

  3. AJPFX解析关于编码ansi、GB2312、unicode与utf-8的区别

    大家平时遇到乱码问题是否有自己的一套解决方案?这篇文章就是介绍一下常用的编码方式关于编码ansi.GB2312.unicode与utf-8的区别 先做一个小小的试验: 在一个文件夹里,把一个txt文本 ...

  4. IntelliJ IDEA安装与破解

    1.软件下载 文中使用到的安装包下载 2.部署 安装一路下一步即可. 把下载的JetbrainsCrack-3.1-release-enc.jar放在安装目录的bin目录下 3.修改配置文件 在安装的 ...

  5. java 之冒泡排序

    冒泡排序:可以想象成煮开水,气泡在瓶底的时候是比较小的,到达水面的时候达到最大. 冒泡排序的思想:先确定是升序还是降序,这里升序为例.每两个相邻的数字进行比较,前一个数字比后面一个数字大,就将两个数字 ...

  6. 【数据分析 R语言实战】学习笔记 第四章 数据的图形描述

    4.1 R绘图概述 以下两个函数,可以分别展示二维,三维图形的示例: >demo(graphics) >demo(persp) R提供了多种绘图相关的命令,可分成三类: 高级绘图命令:在图 ...

  7. java io性能分析

    摘要: 本文大多技术围绕调整磁盘文件 I/O,但是有些内容也同样适合网络 I/O 和窗口输出. 第一部分技术讨论底层的I/O问题,然后讨论诸如压缩,格式化和串行化等高级I/O问题.然而这个讨论没有包含 ...

  8. mybatis 返回值

    转载: 在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作.      使用ibatis的 ...

  9. nutwk的maven中央仓库及配置

    官方maven服务器:https://jfrog.nutz.cn/artifactory/jcenter/ 如果用阿里的maven服务器,特别提醒:

  10. scrapy增加爬取效率

    增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加.在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100. 降低日志级别 ...