如何在 Ubuntu 上构建 Qt 5.7.0 以交叉编译到 Windows?
我有这个错误:
In file included from qt-everywhere-opensource-src-5.7.0/qtbase/include/QtCore/qt_windows.h:1:0,
from main.cpp:33:
qt-everywhere-opensource-src-5.7.0/qtbase/include/QtCore/../../src/corelib/global/qt_windows.h:61:21: fatal error: windows.h: No such file or directory
我的配置选项:
./configure -opensource -c++std c++11 -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- -device-option PKG_CONFIG=i686-w64-mingw32-pkg-config -force-pkg-config -prefix /opt/qt/qt-5.7.0-win32 -nomake examples
windows.h 有路径:/usr/i686-w64-mingw32/include/windows.h
注意:我不想使用 MXE。
最佳答案
不确定这是否是正确的修复,但 Qt 似乎试图将 ActiveQt(仅限 Windows)下的工具之一构建为 native 。
我在这里编辑了这个文件:
qtactiveqt/src/tools/idc/idc.pro
并注释掉前两行,这似乎解决了问题。
(我也确实将 binfmt 配置为通过 wine 运行 .exe 文件,这可能会影响它是否尝试将 idc 工具作为 native 工具运行)
关于c++ - 如何构建用于交叉编译的 Qt 5.7.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40571039/