2014-12-04 85 views
2

我正在VS中編寫代碼,應該稍後移植到Linux。我發現有時候,我可能會使用一些僅在Windows上可用,而在Linux上不可用的函數或代碼。在Visual Studio中編寫用於Linux平臺的C++代碼

有沒有什麼辦法可以讓我的Visual Studio報告我這些不可移植的代碼片段?

我更喜歡在開發過程中使用VS,然後使用代碼庫並在Linux中進行編譯。

+1

您可以設置一個配置,使用例如[MinGW和MSYS](http://www.mingw.org/)或類似的東西,並使用GNU編譯器,並將它設置爲像在Linux環境中一樣構建。 – 2014-12-04 11:12:40

+0

@JoachimPileborg謝謝。這是一個解決方案,但我喜歡本機使用MSVC,但MSVC只是阻止我編譯特定於Windows的代碼。 – mans 2014-12-04 11:26:05

+0

禁用僅限Windows編譯器擴展,不使用任何Windows庫,你應該或多或少。這意味着你不應該包含windows.h,並且爲你的GUI使用第三方庫(比如QT)。另外,你可以將cmake與VS一起使用,並且只需很少或根本不需要更改就可以在Linux系統上編譯同一個項目。 – Lanting 2014-12-04 11:58:43

回答

0

您可以將MinGW作爲參考編譯器,只是爲了檢查您編寫的代碼是否便攜。

您還可以在項目屬性中的編譯器選項設置中禁用MSVC編譯器擴展(或設置/Za標誌)。這很可能會使至少<windows.h>停止編譯。

坦率地說,雖然我沒有看到一個問題,就是沒有使用不便攜的東西。堅持標準的圖書館和圖書館,你知道是便攜式,你很好去。 (理所當然,句法擴展更容易意外使用,但它們的使用方式通常也是微不足道的)。