2015-07-03 98 views
2

我經常在C++中編譯程序並在我自己的PC上編譯它們。我目前使用的是操作系統win xp。在多個平臺上構建程序?

如果我想構建將在Linux上運行的程序的副本,其他版本的Windows等是否有這種方法可以在不購買這些操作系統的情況下執行此操作?例如,您可以讓Cygwin在Linux上運行Windows應用程序。如果我有類似的東西安裝,我可以在Linux上編譯Windows產品,並在另一臺Windows機器上使用它們(相同的位大小)?

或者,我每次都必須購買操作系統嗎? 我正在尋找這樣做的最具成本效益的方式,以建立我需要的所有庫等需要分配時間,我只使用一個操作系統。別人如何解決這個問題?

謝謝

+1

使用VMWare和適當的圖像。它是免費提供的。 –

+1

大多數Linux發行版都是免費的。 – Jite

+0

糾正一件事:cygwin用於在Windows上運行unix/linux代碼,Wine用於在Unix上運行Windows應用程序。 Cygwin需要將你的代碼編譯爲二進制文件,而不是Wine(它需要原始二進制文件) – Marged

回答

4

您可以使用交叉編譯器來創建二進制文件。通過交叉編譯器,您可以在一個架構上編譯不同架構的代碼,例如Windows上的Android智能手機的二進制代碼。但是輸出應在相關平臺上進行測試,因此您仍然需要「購買」操作系統,否則您無法進行測試。

如果您不想花錢,您可以在虛擬機中重新安裝評估版本。微軟提供了他們的操作系統的評估版本,但你必須在它們到期後重新安裝(這將在30到90天之後,有時更多)。 虛擬機的優勢在於虛擬PC的硬盤在一系列存儲在常規驅動器上的文件中進行模擬。所以你不需要投資幾個硬盤,只需要計劃每個操作系統20 - 60 GB。

+0

快照將節省重新安裝的麻煩:) – Jite

+0

@Jite微軟建議採取快照,以保持其評估版永遠運行? – Marged

+0

MS實際上建議你這樣做,所以我確定它沒有那麼大的問題,操作系統附帶的背景圖像告訴你如何去做。 :) – Jite