因為有作業要在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
目錄下,可以在項目 -> 屬性 -> 遠程生產根目錄/項目目錄處修改