因为有作业要在Linux环境下写,用虚拟机直接卡成PPT,VS code又不会调试,就搞一下VS 2019吧。
环境
windows 10 + WSL(Ubuntu 18.04.4) + Visual Studio Community 2019
- Linux 里要有C/C++环境(gcc等)
- VS要有
适用于 Linux 开发的 Visual C++
产品,如果没有的话在 Visual Studio Installer 好像可以下载(我不知道)
SSH
VS连接远程系统依靠SSH,所以需要在WSL里和Windows下都需要下载SSH
Windows下安装SSH
以管理员方式打开powershell
- 安装ssh
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- 配置ssh
Start-Service sshd
# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'
# Confirm the Firewall rule is configured. It should be created automatically by setup.
Get-NetFirewallRule -Name *ssh*
# There should be a firewall rule named "OpenSSH-Server-In-TCP", which should be enabled
# If the firewall does not exist, create one
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
完了之后输入ssh
就好了。
Ubuntu安装ssh
- 安装ssh客户端和服务器
sudo apt-get install openssh-client
$ sudo apt-get install openssh-server
- 启动ssh服务器
sudo /etc/init.d/ssh start
- 执行
ps -aux | grep ssh
,如果有
类似的 sshd 就好了 - 默认情况下,ssh不允许远程使用root账户连接,可以修改配置文件,主要修改一下几项
# 允许使用root账号远程登录
PermitRootLogin yes
# 允许使用密码登录
PasswordAuthentication yes
- 重启SSH
service ssh restart
VS2019连接WSL
新建一个项目,右上角“平台”选linux, 下面项目选“控制台应用”,第一次新建Linux的项目后,运行那就会提示连接远程系统,也可以点 工具 -> 选项 -> 跨平台 -> 连接管理器 -> 添加添加一个远程连接
点连接之后,如果主机名那报错,说明SSH无法连接,可能是本地或Linux服务没打开,如果用户名或密码报错,可能原因有:
- 密码错了
- SSH客户端没权限连接,可以使用普通用户连接或按上面的在Linux里配置
PermitRootLogin
为yes
- 端口占用,修改SSH服务端(Linux)配置文件中的
Port
字段,换一个端口
配置好之后的调试工具就有了
调试项目
运行时没有报错,但好像也没有任何输出,这是应为控制台窗口随着程序运行结束会很快消失,所以在最后return 0处打断点调试就可以了。
最后运行产生的文件包括.out
等会保存在用户家目录下projects
目录下,可以在项目 -> 属性 -> 远程生产根目录/项目目录处修改