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

时间:2010-08-17 18:22:28

标签: c++ windows visual-studio unix cross-platform

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

我不想放弃视觉工作室,所以我希望可以使用visual studio和windows target作为testbuild,然后每隔一段时间通过vm测试代码就可以了linux或mac。

有没有人有如何最好地设置它的经验?

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

4 个答案:

答案 0 :(得分:15)

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

之后,调高警告级别(/W3应该这样做),并且要非常小心你的写作/写作。恕我直言,GCC更擅长使用标准(-Wall -Wextra -pedantic -std=c++11),但你指定MSVC。

正如诺亚所说,你需要构建系统本身就是跨平台的,比如CMake(还有其他人,请不要忘记)。

请记住使用平台/体系结构/编译器独立类型,例如std::size_tstd::(u)intptr_t等,而不是普通intlongunsigned:这些是一个灾难的秘诀,Windows API将这些引发了太多。

请参阅here,但仅限于/尤其是第1,2,5和8点(以及9,但将其概括为svn,git,mercurial)。

答案 1 :(得分:4)

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

由于MS决定从VS中删除对makefile的支持,否则你不会。您使用其他可以生成VS项目文件的东西,并确保您保持正确设置。像CMake这样的东西。

答案 2 :(得分:2)

(3年后......)

如果您有 NON-EXPRESS ,从而允许使用插件,那么WinGDBVisualGDB等内容可以帮助您。

Duckduckgo还告诉我make-it-so已经过时了 - 但到目前为止可能还有更多,因为它们应该更容易使用基于xml的新项目格式。

答案 3 :(得分:2)

这是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进行开发的人来说,它应该会让您的生活更轻松。