[英]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.