首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux上构建Qt 5,用于Windows

在Linux上构建Qt 5,用于Windows
EN

Stack Overflow用户
提问于 2013-01-05 17:50:55
回答 4查看 35.1K关注 0票数 63

我想迁移我的Qt4应用程序来使用Qt5。These instructions失败了,因为它与MXE构建Qt 5的方式有一些不同,包括它使用模块化的Qt tarball,而不是一个大的tarball。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-05 17:50:55

以下是完整的说明:

  • 获取它:

用于Windows的git克隆https://github.com/mxe/mxe.git

  • Build Qt 5:

cd mxe & make qtbase

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

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

如果你想构建所有的Qt5,你需要运行make qt5 (而不是make qtbase)。请注意,这将需要更长的时间才能完成,因此请确保您需要应用程序目录的额外functionality.

  • Get,并运行Qt Makefile生成器工具:

/usr/bin/i686-w64-mingw32.static-qmake-qt5

  • Build你的项目:

make

  • 您应该可以在./

  • 目录中找到该二进制文件:

wine release/foo.exe

一些注意事项:

  • 这是在我的64位debian8上测试的,当然也是在windows上。
  • 输出的是一个32位的静态可执行文件,它可以在64位的Windows上很好地工作。
  • 如果你想要一个64位的可执行文件,可以用以下命令构建Qt:

make MXE_TARGETS=x86_64-w64-mingw32.static qtbase

缺省的MXE_TARGETS值为i686-w64-mingw32.static.

票数 107
EN

Stack Overflow用户

发布于 2014-09-04 04:17:33

git签出命令不正确。您现在必须获得他们的稳定分支,否则它将无法构建。

代码语言:javascript
复制
git clone https://github.com/mxe/mxe.git

应该是...

代码语言:javascript
复制
git clone -b stable https://github.com/mxe/mxe.git

仅此一项就解决了我构建qtbase时的所有问题,但完成后没有留下qt文件夹。则qt5目标将失败,并出现模糊错误。删除文件夹,签出稳定,它的工作完美无瑕。

票数 8
EN

Stack Overflow用户

发布于 2020-08-11 01:24:06

对于那些直接想要GCC10 64位编译的Qt5 (例如,文件库)的人,这里有完整的说明:

获取它:

代码语言:javascript
复制
git clone https://github.com/mxe/mxe.git

安装build dependencies

在激活了gcc10 64位插件的情况下为Windows构建Qt 5:

代码语言:javascript
复制
cd mxe && make MXE_TARGETS=x86_64-w64-mingw32.shared MXE_PLUGIN_DIRS=plugins/gcc10 qt5

在2-3个小时的构建之后,你可以构建你的应用程序(在你的.pro目录中):

代码语言:javascript
复制
<mxe root>/usr/x86_64-w64-mingw32.shared/qt5/bin/qmake

编译器的导出路径&编译你的项目:

代码语言:javascript
复制
export PATH=<mxe root>/usr/bin:$PATH
make

您应该在./release目录中找到该二进制文件,并以wine (或wine64)开头:

代码语言:javascript
复制
wine foo.exe

我真的不知道为什么,但我需要将MXE编译器目录添加到wine路径,因为它找不到DLL:

代码语言:javascript
复制
WINEPATH="<mxe root>/usr/x86_64-w64-mingw32.shared/bin/" wine64 foo.exe 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14170590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档