Ubuntu16编译qt5.14.1记录

11 篇文章 0 订阅

准备

  1. 安装perl

sudo apt install perl

下载源码

  1. 首先克隆顶级Qt 5 git存储库
    git clone https://code.qt.io/qt/qt5.git

  2. 切换qt分支

    cd qt5
    git checkout  5.14.1
    
  3. 下载子仓库

    cd qt5
    git checkout 5.14.1
    perl init-repository
    

  在这一步中,perl会下载 当前目录下.gitmodules文件中有的模块。如果你不想全部编译,可以使用命令行来取消子模块的下载
例如取消 qtwebengine的下载可以这样写
perl init-repository --module-subset=default,-qtwebengine

可以使用./init-repository -help来查看帮助

编译

  1. 编译前
    如果你之前安装过Qt并且设置过环境变量QTDIR,这是没有关系的,但是你要保证你没有设置过QMAKEPATH或者QMAKEFEATURES,使用命令qmake -query后输出中没有特定的Qt版本.有关这只设置的原因请参考下面的链接Qt文档-qmake配置项 保证$HOME/.config/Trolltech/QMake.conf目录文件为空就好
    在这里插入图片描述

  2. 编译配置
    在Qt5同级目录下创建一个build目录,在其中执行
    ../qt5/configure -debug -developer-build -opensource -nomake examples -nomake tests -platform linux-clang
    -developer-build 指定编译类型
    -opensource 设置许可协议为GPL/LGPL
    -nomake examples 不编译示例
    -nomake tests 不编译测试单元
    -platform linux-clang 使用clang编译

  3. 编译过程
    执行玩步骤2 后,会有如下输出在这里插入图片描述询问是复接受许可协议,输入y即可

  4. 配置后的问题
    在这里插入图片描述
    由于暂时不用webengine模块, 先不编译

  5. 在当前目录下执行make -j$(nproc)即可编译
    $(nproc)获取当前CPU核心数

错误

如果使用g++编译,会出现如下问题,使用clang编译不会出现
error: unused parameter ‘other’ [-Werror=unused-parameter]
QTableWidgetSelectionRange::QTableWidgetSelectionRange(const QTableWidgetSelectionRange &other) = default;
解决方法:
	在qt5/qtbase/mkspecs/common/g++-base.conf文件中加入QMAKE_CXXFLAGS +=  -Wno-unused-parameter

如何使用

  1. 下载Qt Creator,如果你当前环境中有,使用现有的版本即可
  2. 配置qt版本
    在这里插入图片描述
  3. 配置构建套件
    在这里插入图片描述

参考

官方编译文档
官方配置选项文档

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值