MinGW(GCC 12)编译qtbase&qttools源码(v 6.4.1)

MinGW编译Qt6 源码(v 6.4.1)

准备

工具

源码(v 6.4.1)

编译

注意事项

  • 必须先编译base部分, tools视情况自行决定是否编译, 如: designer, qmake
    • 也可以通过pip安装tools中的工具
    pip install pyside
    
  • 对于存在开关的选项, 有需要的打开, 不清楚的不要随便关闭
  • 对于出现的"Could Not find XXX", 只要能通过配置(Configure)就不要自己手动下载编译

Steps

  • 解压base源码(例如: D:\Build\Qt\qtbase-6.4.1)
  • 使用CMake生成Makefile文件
    • 源码所在路径, “Where is the source code”: D:/Build/Qt/qtbase-6.4.1
    • 编译文件生成路径, “Where to build the binaries”: D:/Build/Qt/qtbase-6.4.1/build_GCC
    • 点击Configure, 选择 MinGW Makefiles
      Configure
      • 直至出现Configuring done, 继续下一步
      • 选择CMAKE_BUILD_TYPE类型
      • 配置CMAKE_INSTALL_PREFIX, 选择你要安装的路径(推荐修改)
        CMAKE_INSTALL_PREFIX
      • 依据个人情况对开关进行打开或关闭
    • 点击Generate, 直至出现Generating done, 即Makefile文件生成
  • 使用make(mingw32-make.exe)运行makefiles
    • j8表示多用几个线程加快编译速度, 数字随便指定, 别太离谱, 不用也可以
    • 如果出现中途报错, 请留言, 或者Delete Cache后重新配置来一遍玄学
    • 如果选择了test模块(QT_BUILD_TESTS)可以先make test之后再make install, 安装结束
    • make install之后说权限不够, 使用管理员打开你的powershellCMD等这类工具
cd D:\Build\Qt\qtbase-6.4.1\build_GCC
make -j8
make test
make install

最后

  • Qt呢是一定可以用MinGW编译通过的(2023-01-28). 因为Qt Creator下的MaintenanceTool.exe工具(类似VS Installer)直接提供供MinGW使用的 base, tools等库
  • Qt官方使用Ninja进行编译管理, 而非make
  • 并不是所有库或者其所有版本都支持MinGW, 可以说大多数不支持MinGW谁啊,真不熟 , 只是刚好与MSVC不冲突, 能用.
    • 比如VTK 9.1.0(不包含)版本之后包含了个windows的宏, 结果就不行了
  • 有些库MYSY2环境也有提供, 不过本人没用过该环境
    • 若不想安装MYSY2但还想使用其提供的库, 可以去他们的地址(清华镜像)找找
    • 关于许多大型库, 如VTK, OpenCV, OSG等都有提供, 但直接使用会报错, 可能这些库还依赖其他库, 或者他们的FindXXX.cmake问题…
  • 关于如何优雅的使用CMake, 可以考虑添加一个环境变量CMAKE_PREFIX_PATH, 并将库的根目录添加进去
  • 关于文章开始提到的工具,可以看这篇
  • Windows上老老实实使用VS(MSVC编译组件), 真稀罕GCC就上个Linux
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值