1. 概述
由于工作需要,希望能把现有代码移植到linux。基于此目的,最近做了些调研和实验。
由于自己并没有太多的linux下的工作经验,所以不考虑直接在linux平台下工作,开发。
好在现在VSCode,VisualStudio目前都支持跨平台开发。
VSCode有一套remote-xxx的扩展,可以在本机linux子系统,远程主机,远程容器上开发。但平时使用VSCode不多,上手实践不够深入。官方文档:https://code.visualstudio.com/docs/remote/remote-overview。
VisualStudio从2017开始有快平台开发工具,感觉更加直观一些。官方文档:https://docs.microsoft.com/zh-cn/cpp/linux/?view=vs-2019
2. VS2017下的linux开发
2.1 准备工作
-
根据文档https://docs.microsoft.com/zh-cn/cpp/linux/download-install-and-setup-the-linux-development-workload?view=vs-2019 , 安装ubuntu server,并安装必要的文件。注意要在/usr/local/bin/下建立一个到/usr/bin/cmake的链接,否则studio建立cmake项目时会报错。
-
在VS2017中配置一个到目标机的连接。
2.2 linux控制台程序
- 新建项目-Visual C++-跨平台-Linux-控制台应用程序
- 编译,可以看出编译、链接是基于g++的
- 调试
2.2 CMake项目
- 新建-Visual C++-跨平台-CMake-CMake项目
- 编译
- 调试
补充说明:
VS2017 CMake项目只能进行Linux-Debug;Linux-Release的开发,即部署到远程主机调试。
VS2019 CMake项目可以进行Linxu-Debug;Linux-Release; 还可以进行WSL-Debug;WSL-Release。
所以如有可能,考虑在本机上先通过VS2019+WSL进行开发(只占用一台机器),基本走通后再通过VS2019+远程主机的方式开发调试(占用两台机器)。