2013-08-02 130 views
-2

我有一個應用程序在Linux上開發(基於gcc),我需要將整個應用程序移植到Windows。將應用程序從Linux移植到Windows

你可以建議我選擇哪種工具/界面來構建環境嗎?

如果我選擇Visual Studio,它會支持GCC編譯器工具鏈還是MinGW和Cygwin中的哪一個適合?

請給我一些輸入和移植時遇到的挑戰。

謝謝...

+1

請添加應用程序的類型(服務器,文本模式交互式應用程序,窗口化應用程序,..),以及它是否包含像'fork'這樣的* nix特定調用。有時候移植就像重新編譯一樣簡單,但通常它是一個很多**比這更多...... – fvu

+0

它是壓力工具,它使用系統調用並使用內核API。 – user2645956

+0

系統調用可能是最大的挑戰,某些調用/概念在Windows下不存在,並且很難正確模擬。像[APR](http://apr.apache.org/)這樣的庫可能有助於消除一些差異,但是你不會在任何地方找到全面的可移植性問題及其解決方案。 – fvu

回答

-1

嘛,GCC只是copiler。我假設他們只是c或cpp文件,所以只需在窗口中使用Windows兼容的c/cpp編譯器進行編譯即可。

2

我會爲您所有的操作系​​統相關的例程推薦一個抽象層。然後您提供這些例程的兩個實現。一個用於Linux,一個用於Windows,並且您根據當前平臺編譯一個或另一個。您應該保持便攜式代碼與平臺特定的代碼分開。

當然你也可以使用已經存在的平臺抽象層,如Qt的Core模塊(提供線程和I/O的抽象)或Network模塊,它提供了便攜式網絡。當然,我不能確定這是否適合您的情況,因爲我不知道您需要什麼類型的系統調用,或者如果C++甚至可以接受,但可能需要查看它(或其他類似的可移植性庫)。 )

作爲一個編譯器,您實際上可以在Linux下構建Windows二進制文件。我已經這麼長時間了,因爲我不是一個Visual Studio類型的人。我更喜歡CMake或Autotools。爲此,我推薦MXE

+0

你可以建議我Linux到Windows移植庫(它已經存在) – user2645956

相關問題