zoukankan      html  css  js  c++  java
  • 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系统桌面
    NFS原理详解
    编译portmap和nfs-utils
    NFS资料
    PF_NETLINK应用实例NETLINK_KOBJECT_UEVENT具体实现--udev实现原理
    usb资料2
    USB相关资料
    书籍
    最详细的Log4j使用教程
    iOS开发UI篇—无限轮播(新闻数据展示)
  • 原文地址:https://www.cnblogs.com/llxbl/p/10005854.html
Copyright © 2011-2022 走看看