【c++】使用Visual Studio 2017/2019在linux下编译调试c++

Visual Studio linux Cross-Platform C++

vs有个跨平台的c++开发功能,现在才知道,打算试一下。
参考资料:

微软官方 https://devblogs.microsoft.com/cppblog/linux-development-with-c-in-visual-studio/
配置环境 https://blog.****.net/cekonghyj/article/details/77917433
配置环境 https://www.cnblogs.com/xylc/p/6533716.html?&from=androidqq
生成linux下可运行的.out文件 https://blog.****.net/QuanWaiRen0/article/details/80697154
添加附加包含目录和依赖库 https://blog.****.net/xzzppp/article/details/68491346

目前已知的vs2015/2017/2019都有这个功能。可以编辑、编译、调试linux上的c++、python、node.js程序。
甚至可以编译调试.NET程序,支持的Linux平台包括:
CentOS 7.1 and Oracle Linux 7.1
Debian 8
Fedora 23
Linux Mint 17
openSUSE 13.2
Red Hat Enterprise Linux 7.2
Ubuntu 14.04 and 16.04
以上的linux平台版本仅供参考,如果版本号差别不大,应该都是支持的。我在Ubuntu18.06和Centos7.6上都试过,可以使用。

在开始前,无论是Ubuntu和Centos都要安装openssh,g++,gdb等,具体安装代码可以网上查找。这里还要提示下,如果linux是虚拟机,还得设置ip和dns,虚拟机网卡设置桥接模式。确保虚拟机能访问外网,能被vs所在机器ping通即可。

关于添加附加包含目录和依赖库

这里大部分操作可以参考上文提及的链接。但这里需要说明一下,链接里使用的是绝对路径,按我的开发环境为:/root/projects/include。我尝试了下相对路径,使用$(RemoteRootDir)/include,编译失败,提示找不到头文件。所以只能使用绝对路径,如果有人知道如何使用相对路径,烦请指导一下~。

【c++】使用Visual Studio 2017/2019在linux下编译调试c++
【c++】使用Visual Studio 2017/2019在linux下编译调试c++
还有一点要说明的。附加目录正确设置后,尝试编译。成功的情况如下:
显示编译成功。但在IDE里会提示找不到头文件,还会有错误提示。我觉得应该是因为项目配置的附件目录是远程linux机器的路径,所以只有在编译实际执行的过程中才会去判断使用。而IDE里显示的信息是本地的,反而用处不大,可以忽略。打开linux控制台可以看到运行结果。也可以在远程linux机器上运行。
【c++】使用Visual Studio 2017/2019在linux下编译调试c++
【c++】使用Visual Studio 2017/2019在linux下编译调试c++