海思3519av100芯片开发相关2-交叉编译qt4.8.7版本.

前言

这里我也是第一次编译.遇到了很多问题. 最后才成功.
参考别人的文档.这里列出来.

前置条件

安装好需要编译的交叉编译器
我的linux是ubuntu16.0.4版本.

全部编译过程

1. 下载qt4.8.7源码.这没什么好说的.
2. 源码解压,设置交叉编译qt源码时用到的交叉编译环境

  1. 进入解压后的源码目录,进入mkspecs/qws目录.新建文件夹,用来设置自己的交叉编译环境,我的是:linux-himix200-g++文件夹.
  2. 复制linux-arm-g+=里的两个文件.到自己的交叉编译环境文件夹
  3. 更改自己的交叉编译环境文件夹里的qmake.conf文件.将用到的编译工具.替换为自己的.我的替换后如下图海思3519av100芯片开发相关2-交叉编译qt4.8.7版本._第1张图片
    增加qplatformdefs.h:vi qplatformdefs.h ------->#undef O_CLOEXEC(此处主要为解决:编译过程中找不到accept4函数问题.没问题先不加)

5. 安装x11库:sudo apt-get install libx11-dev libxext-dev libxtst-dev
这步不能省

6. configure
先给出我用的命令.然后解释关键地方

./configure --prefix=/opt/qt4.8.7 -opensource -confirm-license -qt-sql-sqlite -qt-gfx-linuxfb -plugin-sql-sqlit -no-qt3support -no-phonon -no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-zlib -no-gif -qt-libtiff -qt-libpng -no-libmng -qt-libjpeg -no-rpath -no-pch -no-3dnow -no-avx -no-neon -no-openssl -no-nis -no-cups -no-dbus -embedded arm -platform linux-g++ -xplatform qws/linux-himix200-g++ -little-endian -qt-freetype -no-opengl -no-glib -nomake demos -nomake examples -nomake docs -nomake tools

首先.这个命令是粘贴进这个博客. 可能会自动添加一些换行符.如果有人直接复制命令.记得检查复制的结果.是不是有些本不该有的空格啊回车啊.’
解释:
prefix设置的是qt的安装目录.换成自己的 这个是无所谓,自己方便用就行
-xplatform qws/linux-himix200-g++ 指定交叉编译环境
就是我们上编译环境的路径

7. configure
make
然后
make install
等待编译完成…

第七步遇到的问题 :make时因为 itewviews的不明原因中断,往上翻翻,找到error记录
在这里插入图片描述

在其他博客里找打解决方案 按照图示内容修改代码,注意别写错了,然后成功编译海思3519av100芯片开发相关2-交叉编译qt4.8.7版本._第2张图片

到这里你得到交叉编译qt.但是,还不能用.
8. PC编译

  1.  重新解压qt-everywhere-opensource-src-4.8.6.tar.gz,进行PC编译
    
  2.  ./ configure
    
  3.  make 
    
  4.  make install
    

得到pc版本.

9. 安装qtcreator 配置交叉编译qt4.8.7

(如果你不想用qtcreator 嗯…)

  1. 安装 qt-creator-opensource-linux-xxxxxxx.run
    xxx表示不同的qtcreator 版本啊处理器位数等等…用xxx代替.表示
    然后可以在应用程序里找到qtcreator

  2. 从PC的QT安装目录中拷贝如下文件到交叉编译目录
    cp /usr/local/Trolltech/Qt-4.8.7/bin/qml* /opt/qt4.8.7/bin/
    注意路径换成自己的

  3. 打开QT Creator
    打开 工具-选项,我的是在Kit里.添加QT_VERSION.添加你要用的qmake.
    在编译器栏目里,添加用海思编译器 等等.
    然后
    然后添加Kit .device type 就选generic linux device… 编译器 qt版本.选择交叉编译要用的就行.这里附配置截图一张
    海思3519av100芯片开发相关2-交叉编译qt4.8.7版本._第3张图片
    .

到这,配置就结束了…

如果有报错…但是始终找不到原因…建议 重新解压后从头操作.防止错误累加.耽误时间

你可能感兴趣的:(海思,qt)