簡體   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