2011-07-06 60 views
1

我需要爲Windows編譯我的Qt應用程序,而我正在使用Fedora 14,它有Qt Creator MinGW的二進制包。我正確安裝了所有必需的交叉編譯軟件包,並將qmake的路徑添加爲/usr/bin/mingw32-qmake-qt4。 Qt Creator無法獲得足夠的環境變量來設置所需的工具鏈。在Linux下使用Qt Creator構建Windows版本

經過小小的挖掘,我發現Qt Creator使用參數-query調用指定的qmake路徑來獲取這些變量。

我發現調用/usr/bin/mingw32-qmake-qt4 -query直接給出了錯誤***Unknown option -query。所以我猜Qt Creator是無辜的。

後來我發現,/usr/bin/mingw32-qmake-qt4不超過一個符號鏈接到通用腳本/usr/libexec/mingw32-scripts使用basename $0rpm --eval,唧唧歪歪。

現在我累了。任何身體都可以過來嗎?

這些都是我安裝的軟件包的版本(它們是最新爲2011/07/06的):

mingw32-binutils.i686    2.20.1-2.fc14    @updates  
mingw32-cpp.i686      4.5.0-1.fc14    @fedora   
mingw32-dbus.noarch     1.4.1-0.1.20101008git.fc14 @updates  
mingw32-expat.noarch     2.0.1-6.fc13    @fedora   
mingw32-filesystem.noarch   64-2.fc14     @updates  
mingw32-gcc.i686      4.5.0-1.fc14    @fedora   
mingw32-gcc-c++.i686     4.5.0-1.fc14    @fedora   
mingw32-libjpeg.noarch    7-2.fc12     @fedora   
mingw32-libpng.noarch    1.4.3-1.fc14    @fedora   
mingw32-libtiff.noarch    3.9.5-1.fc14    @updates  
mingw32-pthreads.noarch    2.8.0-10.fc13    @fedora   
mingw32-qt.noarch     4.7.1-3.fc14    @updates  
mingw32-qt-qmake.i686    4.7.1-2.fc14    @updates  
mingw32-runtime.noarch    3.15.2-5.fc13    @fedora   
mingw32-sqlite.noarch    3.6.22-1.fc13    @fedora   
mingw32-w32api.noarch    3.14-1.fc14     @fedora   
mingw32-zlib.noarch     1.2.5-1.fc14    @fedora   
qt.i686        1:4.7.2-8.fc14    @updates  
qt-assistant.i686     1:4.7.2-8.fc14    @updates  
qt-creator.i686      2.1.0-4.rc1.fc14   @updates  
qt-demos.i686      1:4.7.2-8.fc14    @updates  
qt-devel.i686      1:4.7.2-8.fc14    @updates  
qt-examples.i686      1:4.7.2-8.fc14    @updates  
qt-mysql.i686      1:4.7.2-8.fc14    @updates  
qt-webkit.i686      1:4.7.2-8.fc14    @updates  
qt-x11.i686       1:4.7.2-8.fc14    @updates 

我忘了說,我更喜歡使用的是Fedora回購在當地提供的二進制軟件包構建庫或工具

回答

1

我快速查看了Fedora 15安裝過程中發生的情況。

mingw32-qmake-qt4是一個淺層包裝,基本上只是調用qmake -spec win32-g++-cross $0。現在,如果您撥打mingw32-qmake-qt4 -query,則-spec-query選項都會傳遞給qmake。然而,Qmake足夠愚蠢,不能一起接受這兩個選項,並給你錯誤信息。

我想可能可以通過將mingw32-qmake包裝腳本替換爲具有硬編碼-spec選項的適當可執行文件來修復它。這樣,使用-spec選項就沒有必要了,你會得到一個工作查詢選項。

您可能想寫入Fedora MinGW mailing list,也許有人在那裏有一個更好的想法如何解決這個問題。

+0

感謝您的回答。其實我通過使用qmake-qt4 -spec fedora-win32-cross正常來做到了這一點,但是當時stackoverflow阻止我添加我的答案。 – mmonem