qt5.15.2源码编译出错处理

1.执行../qt-everywhere-src-5.15.2/configure -make libs -xplatform aarch64-buildroot-linux-gnu -no-opengl报错如下:

5.15.2/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:300:7: error: ‘numeric_limits’ is not a class template
  300 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> : public numeric_limits<float>

解决:修改.qt-everywhere-src-5.15.2/qtbase/src/corelib/global/qglobal.h

增加#include <limits>

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在进行 Qt 5.15.2 的交叉编译时,你可以使用以下方法来裁剪: 1. 配置 Qt 编译选项: 在运行 `configure` 脚本时,可以使用一些选项来裁剪 Qt 的功能和模块。以下是一些常用的选项: - `-skip <module>`:跳过某个模块的编译,可以使用多个 `-skip` 选项来跳过多个模块。例如:`-skip qtscript -skip qtwebengine`。 - `-feature-<feature>`:禁用某个功能特性,可以使用多个 `-feature` 选项来禁用多个特性。例如:`-feature-<feature>`。 - `-no-<module>`:不编译某个模块,可以使用多个 `-no` 选项来禁用多个模块。例如:`-no-qtwebengine -no-qt3d`。 你可以根据你的需求使用这些选项来裁剪 Qt 编译。 2. 使用 Qt 模块分离工具: Qt 提供了一个名为 `qconfig` 的工具,用于分离 Qt 模块并将它们打包成单独的动态库文件。你可以使用这个工具来裁剪 Qt,并只包含你需要的模块。这样可以减小最终生成的可执行文件的大小。 你可以在交叉编译完成后,使用以下命令来分离 Qt 模块: ``` qconfig <path_to_qmake> -o <output_dir> -prefix <prefix_dir> ``` 其中,`<path_to_qmake>` 是交叉编译完成后的 Qt 安装目录中的 `qmake` 可执行文件路径,`<output_dir>` 是输出目录,用于存放分离后的模块文件,`<prefix_dir>` 是 Qt 安装目录,用于指定 Qt 的安装路径。 分离完成后,你可以将 `<output_dir>` 中的模块文件拷贝到目标设备上,并设置好相应的运行时环境变量,让程序能够正确加载这些模块。 这些方法可以帮助你在交叉编译 Qt 5.15.2 时进行裁剪。根据你的需求,选择适合的方式来裁剪你需要的功能和模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值