如何为跨平台c ++开发设置visual studio

经过一段时间主要是.net开发,我需要以跨平台的方式在C ++中工作。

我不想放弃visual studio,所以我的希望是可以使用visual studio和windows target作为testbuild,然后每隔一段时间通过vmtesting一下linux或者mac上的代码。

有没有人有如何最好地设置这个经验?

我特别好奇你如何确保项目文件等与* nix平台上可能需要的make文件保持同步。

首先,选择一个非托管的C ++项目(避免.net的东西)。

之后,调高警戒级别( /W3应该这样做),并且非常小心你做什么/写什么。 恕我直言,海湾合作委员会是更好地保持与标准( -Wall -Wextra -pedantic -std=c++11 )直,但你指定MSVC。

正如Noah所说,你需要一个本身就是跨平台的构建系统,就像CMake一样(还有别的,请不要忘记)。

请记住使用平台/架构/编译器独立的类型,比如std::size_tstd::(u)intptr_t等等,而不是简单的intlongunsigned :这些都是灾难的秘诀,而且Windows API也会引发这些许多。

看到这里 ,但只有/特别是点1,2,5和8(和9,但推广到svn,git,mercurial)。

我特别好奇你如何确保项目文件等与* nix平台上可能需要的make文件保持同步。

由于MS决定取消对VS的makefile支持,你不这样做。 你用别的东西可以生成VS项目文件,并确保你保持正确的设置。 像CMake的东西。

(3年后…)

如果你有NON-EXPRESS ,因此允许使用插件,那么WinGDB和VisualGDB就可以帮助你。

Duckduckgo也告诉我关于这个过时的问题 – 但现在可能还有更多,因为他们应该更容易使用新的基于xml的项目格式。

这是6年前的一个古老的问题,但是我只想指出,微软现在有官方工具可以在Visual Studio中使用linux c ++:

https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/

另外,Windows 10现在可以 Windows 内部运行Linux,因此对于那些仍然有兴趣在Visual Studio中使用C ++ for Linux进行开发的人来说,它应该会让您的生活变得更轻松。