在Linux for Windows上交叉编译Qt5

时间:2013-12-28 11:31:50

标签: c++ linux windows qt

我最近使用本指南在Linux上交叉编译Windows程序:Building Qt 5 on Linux, for Windows

但是,当我编译程序时,创建的可执行文件已损坏,并且不运行该程序。相反,有一个错误,只有关闭它的选项。如果有人能够提供答案,为什么它这样做,将不胜感激。下面我将列出几个事实。请具体说明您的答案(例如,如果原因是我可能使用了GUI不具备的内容,请提供操作系统之间无法使用的示例)我在如果我要求对答案作进一步解释,那么在使用Qt时大约是中级入门级别,请提前原谅我。

  • 使用Qt Creator 2.8.1(基于5.1.1)进行编译
  • 使用Crunchbang 11(基于Debian 7.0)
  • 使用“cd mxe&& make qtbase”测试并随后“cd mxe&& make qt5”
  • 执行程序(葡萄酒)产生的错误:Pastebin: Wine Error
  • 程序执行时终端显示的调试:Pastebin: Debugging
  • 该程序在典型的Windows 7环境中不起作用
  • 构建日志:Pastebin: Build Log

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

1 个答案:

答案 0 :(得分:0)

我成功地在ArchLinux for Windows上交叉编译了一个程序 你的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创建另一个子目录。