• qt5.10.1编译记录


    qt版本更新比较快,不知道选哪个版本合适,故选择一个较新版本的。

    平台imx6    +    linux4.1.16   +   qt5.10.1

    采用明远智睿提供的编译器:fsl-imx-fb-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0.sh,安装在目录/opt/fsl-imx-fb/4.1.15-2.1.0/目录下

    明远已经帮客户设置好了编译环境变量,在文件/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/env-*****.sh文件里面。

    运行该文件即可配置好环境。

    接着下载QT5.10.1源码并解压:

    源码配置方式参考....../qtbase/mkspec/device/linux-imx6-g++/qmake.conf文件,

    推荐配置为:./configure -prefix /usr/local/qt5 -extprefix $HOME/imx6/qt5 -device linux-imx6-g++    -device-option CROSS_COMPILE=$HOME/imx6/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-  -sysroot $HOME/imx6/toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi    -nomake examples -nomake tests -v

    根据自己的安装目录更改-prefix  和 -extprefix选项,并且更改好交叉编译器环境,

    在配置过程中发现can not find crti.c,crt1.o等错误,

    查找编译器目录下存在这几个文件,故很大可能是环境变量有问题,仔细检查了N遍环境变量配置,没发现有问题的地方,

    比对明远他提供的环境变量配置文件,发现--sysroot指定的路径和SDKTARGETSYSROOT环境变量和sysroot设置一样的值,果断把sysroot指定为SDKTARGETSYSROOT,在执行configure,故障解除。

    接着执行make 

    报错找不到zconf.h目录下定义的几个宏,原因应该是电脑zlib库版本的问题,于是采用qt自身的zlib库,及在配置的时候加上-qt-zlib配置选项

    继续make   成功。接下来就是将编译好的库文件放到开发板的文件系统里面,安放位置由编译配置时的-prefix指定。设置好QT运行环境变量。如何设置,请听下回详解。

  • 相关阅读:
    linux下执行python错误: bad interpreter: No such file or directory
    linux下修改默认python版本
    MySQL 远程连接配置的正确实现
    Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 7
    通达信软件快捷键
    MT4快捷键
    vim快捷键
    Linux5.5下配置Centos的yum源
    ls命令结果中文件夹颜色(蓝色)的改变方法
    rest-framework之响应器(渲染器)
  • 原文地址:https://www.cnblogs.com/llxbl/p/10005854.html
Copyright © 2020-2023  润新知