Skip to main content
 首页 » 编程设计

qt之在 Linux 上构建 Qt 5,适用于 Windows

2024年04月12日42insus

我想将我的 Qt 4 应用程序迁移到使用 Qt 5。 These instructions失败,由于与 MXE 的方式存在一些差异构建 Qt 5,包括它使用模块化 Qt tarball,而不是一个大型 tarball。

请您参考如下方法:

以下是完整说明:

  • 获取:

    git clone https://github.com/mxe/mxe.git 
    
  • 安装 build dependencies

  • 为 Windows 构建 Qt 5:

    cd mxe && make qtbase 
    

    这将首先构建其依赖项和交叉构建工具; 在具有良好互联网连接的快速机器上应该花费不到一个小时。

    由于 Qt 5 的新模块化特性,各种主要的 Qt 组件现在位于不同的 tarball 中。上面选择的 qtbase 应该为您提供足够的功能来运行普通的 GUI 应用程序,这就是我自己的(小型)应用程序所需的全部功能。

    如果您想构建全部 Qt 5,则需要运行 make qt5 (而不是 make qtbase)。请注意,这将需要更长的时间才能完成,因此请确保您需要额外的功能。

  • 进入您的应用程序目录,然后运行 ​​Qt Makefile 生成器工具:

    <mxe root>/usr/bin/i686-w64-mingw32.static-qmake-qt5 
    
  • 构建您的项目:

    make 
    
  • 您应该在 ./release 目录中找到二进制文件:

    wine release/foo.exe 
    

一些注意事项:

  • 这是在我的 64 位 Debian 8 上测试的,当然还有 Windows。

  • 输出是 32 位静态可执行文件,可以在 64 位 Windows 上正常运行。

  • 如果您想要 64 位可执行文件,请使用以下命令构建 Qt:

    make MXE_TARGETS=x86_64-w64-mingw32.static qtbase 
    

    默认的 MXE_TARGETS 值为 i686-w64-mingw32.static