2016-11-12 173 views
0

好日子交叉編譯所有QT能夠使用MinGW的(預編譯)

我一直在尋找的交叉編譯的QT造物主在Linux中的某個時候,現在的方法,我一直有很多的麻煩它。

背景信息

請注意:我是一個Linux機器上,並想交叉編譯的Windows應用程序

我的系統:

  • Ubuntu的Gnome的16.10
  • QT Creator 4.0.2(基於QT 5.7)

我遇到過幾個SO links,一些博客的破解說明等,one看起來很有幫助,但依賴關係找不到。

我也嘗試另一個編譯器MXE和克隆,並試圖從GIT repo,它未能建立MXE編譯器(用於生成錯誤無解 - VTK建立自己的錯誤)

我決定下載precompiled MinGW compilers(i686的並從SourceForge x86_x64版本)

問題:

Qt Creator中,添加編譯器沒有問題做過,添加「工具包」,然後選擇新添加的編譯R,一個紅色感嘆號給出錯誤

的編譯器(x86_windows_msys_pe_64bit)爲QT版本5.7.0 GCC 64位(x86_linux_generic_elf_64bit)

這發生在32個+ 64位編譯器不能產生代碼。

回答

0

我認爲你應該有一個與你的編譯器ABI相匹配的QT版本。該錯誤告訴您MinGW編譯器與您使用的Linux版本的QT不匹配。因此,獲得一個QT的Windows版本並使用它(就像你添加了WinGW一樣)。

你可以從here下載Qt二進制文件。

+0

感謝您的迴應,我有GCC 6安裝,MinGW編譯器使用'x86_64-w64-mingw32-gcc(GCC)6.2.0 20160822',但QT-Creator使用GCC 4.9,如果QT-Creator 4.0 .2(基於QT 5.7)使用GCC 4.9,我應該嘗試用GCC 6構建QT-Creator 4.0.2嗎? – KGCybeX

+0

@KGCybeX你應該得到一個Qt的Windows版本。如果你願意,你可以使用MinGW爲Windows構建Qt並使用它。 –

+0

這正是我不想要的,我想在Linux中編譯'.exe',從而避免引導到Windows。 – KGCybeX