2014-12-04 65 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>停止编译。

坦率地说,虽然我没有看到一个问题,就是没有使用不便携的东西。坚持标准的图书馆和图书馆,你知道是便携式,你很好去。 (理所当然,句法扩展更容易意外使用,但它们的使用方式通常也是微不足道的)。

相关问题