【微软】:在 Visual Studio 中连接到你的目标 Linux 系统
【博客园】:使用VS2019进行Linux远程开发

1、Linux开发环境配置

1、虚拟机VMware安装Ubuntu,并更换软件源

sudo cp /etc/apt/sources.list /etc/apt/sources_original.list

// 无vim可用gedit
sudo gedit /etc/apt/sources.list

sources.list修改如下【可替换其他源】:

文件原内容注释,以【清华源】代替
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse

启用生效新配置

刷新软件源信息:
sudo apt update

更新软件:
sudo apt upgrade

2、安装gcc、g++和make

sudo apt install build-essential

验证编译器是否被成功安装
gcc --version

在这里插入图片描述

3、安装openssh服务

sudo apt install openssh-server

检查SSH服务器状态
sudo systemctl status ssh

在这里插入图片描述
检查防火墙状态,若启动则确保SSH端口开着

sudo ufw status

允许外部访问SSH端口
sudo ufw allow ssh

SSH登陆命令
ssh username@ip_address

在这里插入图片描述

2、Visual Studio 搭建空项目【Linux】

添加远程环境:调试->选项->跨平台->连接管理器,注意远程标头IntelliSense管理器,可更新 同步头文件
ip::port为虚拟机实验所搭,用后即删

在这里插入图片描述
项目属性:常规【远程生成计算机、根目录、项目目录】

在这里插入图片描述
调试模式分gdb、gdbserver,前者让VS在Linux上启动一console,然后运行gdb并返回输出【无法识别彩色输出】
后者会远程启用 gdbserver,本地VS解析回传的数据

在这里插入图片描述
配置待同步的远程环境的头文件【代码补全&提示】

在这里插入图片描述

3、本地编写 & 远程调试
#include <iostream>
#include <cstdio>

int main()
{
	std::cout << "远程连接开发Linux项目成功!" << std::endl;
}

视图:调试->Linux 控制台
乱码解决:Windows【GB18030或GBK】,Linux【UTF-8】,可在高级保存选项中统一编码为UTF-8
高级保存选项:工具->自定义->命令选项卡->单选菜单栏->下拉选文件->添加命令->左侧文件->右侧高级保存选项->确定

在这里插入图片描述
在这里插入图片描述

4、引用第三方库

在这里插入图片描述
指定linux系统上库所在路径及库名后【注意库依赖顺序】,即可调库编程

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐