2013-10-01 53 views
2

我開發了一個C++/QT應用程序,我正在爲Mac,Windows和Linux編譯它。我選擇了C++,這樣我就可以與這些主流操作系統兼容。我可以編譯它爲Mac就好了。從Mac開發交互編譯C++/QT for Windows,Linux

我發現了關於交叉編譯的問題,但有些已經過時或沒有很好的文檔記錄......或者不能保證他們能夠在最新版本的Windows或Mac上工作。

我確實在我的機器上安裝了虛擬Windows和Cent OS,但我覺得手動編譯應用程序會過度殺死。

那麼,你推薦任何可靠的交叉編譯器?或者有什麼辦法可以自動化編譯,所以如果需要的話,它可以通過登錄到我的虛擬Windows或Cent OS安裝進行編譯?

僅供參考......不僅可以交叉編譯,還可以生成32位和64位版本!

回答

1

對於Mac和linux,如果您的操作系統中安裝了g ++編譯器,那麼在這裏沒有大問題。但是,您需要在Windows安裝中安裝Mingwcygwin以爲您的程序提供gcc和g ++編譯器,並且如果要使編譯過程自動化,您可以使用Makefile或嘗試查看autotools

1

我知道的唯一的交叉編譯器是GCC。實際上,我在Linux上使用它在S/390上進行交叉編譯,並在Power Mac上交叉編譯ARM代碼(我使用the instructions here進行設置)。

也就是說,我認爲你想要的是在運行Windows的32位虛擬機上交叉編譯Windows x64。如果真是這樣的話,那麼你很幸運,因爲微軟自Windows 2000 SDK開始就使用Windows SDK免費提供交叉編譯器。我實際上在運行XP的虛擬PC上使用Windows Vista SDK(版本6.1)來編譯Windows x64。 Here您可以下載編譯器附帶的SDK的最新版本。我看了系統要求,它仍然支持XP,所以這應該對你有好處。

請注意,編譯器附帶的Visual Studio相同,但你必須通過或者使用「CL」「NMAKE」由SDK安裝的命令行環境中調用它們。

可以通過發出SETENV/86 32位或SETENV/X64 64位-there是另一模式安騰選擇了彙編模式,但我從來沒有使用它 - 。 Visual Studio IDE不包括在內,因爲它是一種付費產品,但免費的高質量編譯器對任何人都是足夠好的。