在Windows下用Visual Studio 2017 编写Linux C++ 程序
1. 安装VS2017
下载Visual Studio Community ,它对于小型团队是免费的并且是开源的;
安装时勾选Linux development with C++;
2. 配置目标Linux
如果操作系统是Win10,那么可以安装WSL.
(Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 “Trusty Tahr”映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。– 百度百科)
目标Linux机器上需要安装gdbserver ,openssh-server,build-essential
(1)gdbserver用于远程调试;
(2)SSH协议族可以进行远程控制,openssh是其开源实现;
(3)build-essential软件包作用:提供编译程序必须软件包的列表信息,编译程序有了这个软件包,它才知道 头文件和使用的库函数在哪里。
目标Linux可以是上面提到的WSL,也可以远程服务器,比如阿里云服务器。
安装所需:
$ sudo apt update
$ sudo apt install -y build-essential
$ sudo apt install -y gdbserver
$ sudo apt install -y openssh-server
安装好之后打开/etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
将PasswordAuthentication之后改为yes,开启密码验证。
然后生成ssh keys 并且开启服务
$ sudo ssh-keygen -A
$ sudo service ssh start
3.配置
- 新建项目
确定你的目标Linux
配置目标Linux
打开工具-选项-跨平台-连接管理器,点击添加
**如果是远程服务器,那么主机名输入ip地址,我这里用的是ubuntu云服务器,用户名为ubuntu;
如果是本地WSL,主机名是localhost。**
然后输入你的密码。
在项目属性中确定远程计算机:
4 运行调试代码
这里其实是远程服务器上编译生成。
没有报错,现在看我的远程服务器上多了个projects目录
但是没有生成可执行文件,有点奇怪。我只能自己g++。
我的Linux特有的头文件是不全的,自己下载了一个Linux下的include,
放在了G:\VS2017\Common7\IDE\VC\Linux\include\usr\include
注意:在#include <> 提示输入时,Windows下是\,我们需要改成/,这样虽然vs提示报错,但是可以成功编译,因为是在远程Linux服务器上编程生成。
这样就可以在vs中编写和调试Linux C++程序了:)