[英]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中修改单个构建步骤:
-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.