2016-11-13 32 views
1

如何在Ubuntu上构建Qt 5.7.0以交叉编译为Windows?如何构建Qt 5.7.0进行交叉编译?

我有这样的错误:

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。

回答

0

不知道这是否是正确的解决方法,但似乎Qt试图构建ActiveQt(这是纯Windows)作为本机之一的工具之一。

我在这里编辑这个文件:

qtactiveqt/src目录/工具/ IDC/idc.pro

,并评论了两个第一线,这似乎解决问题。

(我也有binfmt配置为通过wine运行.exe文件,这可能会影响它是否尝试运行idc工具作为本机工具)