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

Hi3531A交叉编译环境配置以及编译嵌入式 Qt4.8

2020-02-16 20:19 603 查看

文章目录

  • 编译 Qt
  • 安装交叉编译器

    【注意】本文中使用 Hi3531A 的 V300 编译器

    1. 解压海思SDK

    tar -xvf Hi3531A_SDK_V1.0.4.0.tgz

    2. 进入到交叉编译工具目录

    cd Hi3531A_SDK_V1.0.4.0/package/osdrv/opensource/toolchain/arm-hisiv300-linux

    3. 解压交叉编译工具

    tar -xvf arm-hisiv300-linux.tar.bz2

    4. 安装交叉编译工具

    ./cross.v300.install

    5. 更新 shell 的环境变量

    . /etc/profile

    编译 Qt

    Qt4.8 下载地址(如地址失效,请告知我更新):
    http://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz

    1. 解压 qt 源代码

    tar -zxvf qt-everywhere-opensource-src-4.8.7.tar.gz

    2. 配置交叉编译器

    cd qt-everywhere-opensource-src-4.8.7/mkspecs/qws/
    cp linux-arm-g++ linux-arm-hisiv300-g++ -R
    vi linux-arm-hisiv300-g++/qmake.conf
    :%s/arm-linux/arm-hisiv300-linux/g
    :wq
    cd ../../

    3. 配置 qt 的编译参数

    • hisiv300 可以显示 jpg 的配置(网上copy的)
    ./configure -prefix /usr/local/qt-4.8.7-hisiv300-static -static  -opensource -confirm-license -qt-sql-sqlite -qt-freetype -fontconfig -no-pch -xplatform qws/linux-arm-hisiv300-g++ -embedded arm -no-webkit -no-largefile -no-qt3support -no-scripttools -no-script -no-declarative-debug -no-declarative -no-cups  -no-opengl -no-phonon -phonon-backend -no-scripttools -no-libtiff -no-gif -no-libmng -no-nis -no-cups -no-svg -nomake docs -nomake examples -nomake demos
    • 自己根据 ./configure -h 得出的配置
    ./configure -prefix /usr/local/qt-4.8.7-hisiv300-static -opensource -static -no-exceptions -qt-sql-sqlite -no-qt3support -no-xmlpatterns

    4. 执行编译

    make -j8

    5. 安装

    make install -j8

    到此已经完成了 Qt 的编译和安装,下面是其他常用命令

    6. 其他会用到的命令

    • 清除配置
    make confclean
    • 清除编译出来的文件
    make clean
    • 卸载qt
    make uninstall

    7. 部分编译参数解释

    • -opensource:编译为开源版本
    • -confirm-license:不用输入yes来确认是否同意开源许可
    • -prefix <dir>:设置安装路径
    • -embedded <arch>:目标平台的cpu架构
    • -xplatform <target>:目标平台的操作系统和编译器,其实就是我们配置的交叉编译器路径,以qws开头
    • -static:编译成静态库
    • -no-webkit:不编译webkit库
    • -nomake examples:不编译examples,因为编译examples会报错
    • -nomake demos :不编译demos,因为编译demos会报错
    • -qt-sql-sqlite:在Qt库中启用SQL,不然使用到sql时会报错:
    QSqlDatabase: QSQLITE driver not loaded
    QSqlDatabase: available drivers:
    • 点赞 1
    • 收藏
    • 分享
    • 文章举报
    WanMoon 发布了1 篇原创文章 · 获赞 1 · 访问量 150 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐