经过一段时间后主要是.net开发,我需要以跨平台的方式在c ++中工作。
我不想放弃视觉工作室,所以我希望可以使用visual studio和windows target作为testbuild,然后每隔一段时间通过vm测试代码就可以了linux或mac。
有没有人有如何最好地设置它的经验?
我特别好奇你如何确保像项目文件这样的东西与* nix平台上可能需要的make文件保持同步。
答案 0 :(得分:15)
首先,选择一个非托管的C ++项目(以避免使用.net的东西)。
之后,调高警告级别(/W3
应该这样做),并且要非常小心你的写作/写作。恕我直言,GCC更擅长使用标准(-Wall -Wextra -pedantic -std=c++11
),但你指定MSVC。
正如诺亚所说,你需要构建系统本身就是跨平台的,比如CMake(还有其他人,请不要忘记)。
请记住使用平台/体系结构/编译器独立类型,例如std::size_t
,std::(u)intptr_t
等,而不是普通int
,long
,unsigned
:这些是一个灾难的秘诀,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 ,从而允许使用插件,那么WinGDB和VisualGDB等内容可以帮助您。
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进行开发的人来说,它应该会让您的生活更轻松。