繁体   English   中英

无法使用MinGW在Linux上为Windows构建

[英]Unable to build for Windows on Linux, with MinGW

因为我不是Java爱好者,所以决定将C ++和Qt用于我的一个项目。 但是,我遇到了交叉编译Qt的大问题,无法为Windows用户生成.exe文件。

我的设定

Linux Ubuntu 12.04,带有Wine和Qt。 qmake -v给出以下输出:

QMake version 2.01a
Using Qt version 4.8.1 in /usr/lib/x86_64-linux-gnu

我也有一个MinGW32编译器,可以在/usr/bin/i586-mingw32msvc-g++ 我的Wine drive_c文件夹包含以下Qt目录:

$HOME/.wine/drive_c/Qt/Qt5.2.0/5.2.0/Src
$HOME/.wine/drive_c/Qt/Qt5.2.0/5.2.0/mingw48_32

mingw48_32目录包含必需的include/lib/目录,这些目录在我的mkspec文件/usr/share/qt4/mkspecs/win32-x-g++/qmake.conf

QMAKE_INCDIR_QT = /home/me/.wine/drive_c/Qt/Qt5.2.0/5.2.0/mingw48_32/include
QMAKE_LIBDIR_QT = /home/me/.wine/drive_c/Qt/Qt5.2.0/5.2.0/mingw48_32/lib

问题

根据我发现的有关Qt交叉编译的大多数指南,我的设置应该足以运行简单的代码:

qmake -spec win32-x-g++
make
wine /path/to/my/application.exe

但是...没有任何联系。 QApplication和我在程序中使用的所有其他符号均为“未找到”。 没有QApplication ,没有QPushButton ,没有connect() ,没有SIGNAL() ,没有SLOT() ...

我的目标是成功配置QtCreator以使用此设置(在独立的构建配置中),以便它可以构建Linux可执行文件(通过第一个工作配置)和Win32 .exe(通过上面的MinGW设置)。 但是,我无法在QtCreator中修改单个构建步骤:

  • 无法添加“ MinGW”工具链:在“添加”下拉列表中不可用。
  • 无法在项目构建配置面板中更改-spec参数值。 该字段不可编辑。

尽管我在Internet上找到了各种指南和解决方案,但到目前为止,我唯一的解决方案是将源代码发送到虚拟Windows计算机,并用它创建一个新项目。 在这个VM上,我可能可以为Windows编译...但是,当然,这实际上对我来说似乎并不是一个真正的“解决方案” ...

Qt(Creator)现在有什么办法最终使交叉编译变得更容易了吗? 我对“找不到符号”错误有点厌烦...

第一,

sudo apt-get install mingw-w64

然后,检查Qt Creator是否找到工具链。

接下来,直到Ubuntu开始提供mingw-w64-qt软件包,然后下载并构建Qt源。 这势必会变得混乱,甚至最简单的操作就是安装WINE并使用Windows Qt版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM