在Linux for Windows上交叉编译Qt5

Cross Compiling Qt5 on Linux for Windows

本文关键字:交叉编译 Qt5 Windows Linux for      更新时间:2023-10-16

我最近使用本指南为Linux上的Windows交叉编译了一个程序:在Linux上构建Qt 5,用于Windows

但是,当我编译程序时,创建的可执行文件已损坏,无法运行程序。相反,有一个错误,只有关闭它的选项。如果有人能回答它为什么这么做,我们将不胜感激。下面我将列出几个事实。请在你的回答中具体说明(例如,如果原因是我可能在GUI中使用了windows不可用的东西,请提供操作系统之间不可用的示例)在使用Qt时,我处于中等水平,所以如果我要求对答案进行进一步解释,请提前原谅我。

  • 使用Qt Creator 2.8.1编译(基于5.1.1)
  • 使用Crunchbang 11(基于Debian 7.0)
  • 通过使用"cd mxe&&make qtbase"和随后的"cd mxe&make qt5"进行测试
  • 执行程序产生的错误(葡萄酒):Pastebin:葡萄酒错误
  • 程序执行时在终端中显示的调试:粘贴:调试
  • 该程序无法在典型的Windows7环境中运行
  • 生成日志:粘贴:生成日志

从最初的发布时间开始,我可能需要几个小时才能跟进。提前感谢所有积极投入的人。

我成功地在适用于Windows的ArchLinux上交叉编译了一个程序
你的windows机器上有所有必要的dll吗
这是我目录中的一个列表:

platforms <DIR>
- qminimal.dll
- qwindows.dll
sqldrivers <DIR>
- qsqlite.dll
icudt51.dll
icuin51.dll
icuuc51.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Sql.dll
Qt5Widgets.dll

拥有所有dll的正确版本也是至关重要的。这些必须与用于交叉编译的MinGW版本相匹配。此外,平台目录及其两个dll也是必要的。对于我的应用程序,我还需要SQLite支持,因此有必要使用所需的dll创建另一个子目录。