IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Visual Studio – 借助远程Linux服务器环境在Visual Studio中编写和远程调试Linux C++程序 -> 正文阅读

[系统运维]Visual Studio – 借助远程Linux服务器环境在Visual Studio中编写和远程调试Linux C++程序

1 环境准备

1.1 安装使用C++的Linux开发的工具集

首先需要在Visual Studio Installer中安装使用C++的linux开发的工具集

在这里插入图片描述
等待使用C++的Linux开发的工具集安装完成,并重启Visual Studio。

1.2 准备可远程的Linux服务器以及在远程服务器安装远程调试环境

1.2.1 明确Linux服务器的cpu架构

首先需要清楚该服务器的cpu是x_86、x_64还是arm,这在之后的Visual Studio中需要选择编译平台。

1.2.2 配置远程Linux服务器的SSH

配置远程Linux服务器的SSH连接,并可以通过SSH可以连接到远程的Linux机子。

1.2.3 配置远程Linux服务器的编译环境

以我目前使用的Ubuntu为例,我们需要在Linux服务器上安装可进行C++程序编译以及远程调试的包。

在安装包之前,更新apt,

apt update
apt upgrade -y

使用,

sudo apt-get install openssh-server g++ gdb gdbserver -y

安装所需的包,等待包安装完成。

2 在Visual Studio中添加跨平台的SSH连接

打开Visual Studio,菜单栏的工具-选项菜单

在这里插入图片描述

在选项-跨平台-连接管理器中点击添加按钮,添加上一节中配置的Linux远程服务器的SSH连接,

在这里插入图片描述

依次填入SSH连接的主机名(ip地址),SSH端口,用户名,以及密码添加远程Linux服务器的链接。

在这里插入图片描述

3 在Visual Studio中进行Linux C++程序调试和编码

3.1 创建Linux C++ 项目

这里选择控制台应用程序做简要说明
在这里插入图片描述
填入项目名称以及在Windows系统上项目的存放路径,和平常在Windows上创建C++项目没有很大的区别。
在这里插入图片描述

3.2 配置解决方案平台

根据远程Linux服务器的cpu架构,选择对应的配置。

在这里插入图片描述

3.3 选择编译的远程服务器

在第2节中已经介绍了如何为远程Linux服务器添加SSH连接,如果添加成功,会在调试按钮下显示可用的远程调试机器,如下图所示,如果配置了多台远程服务器,可选择合适的机器进行编译。

在这里插入图片描述

3.4 Linux C++程序编译

默认创建的控制台会在main.cpp中创建以下初始代码,

#include <cstdio>

int main()
{
    printf("%s 向你问好!\n", "LinuxTest");
    return 0;
}

我们可以像在Visual Studio中编译Windows C++程序一样点击生成-生成解决方案编译此Linux平台的C++程序。

编译完成且成功的信息如下:

在这里插入图片描述

3.5 Linux C++程序运行

我们可以像在Visual Studio中运行Windows C++程序一样运行此Linux平台的C++程序。

按F5运行程序,运行成功的信息如下:

在这里插入图片描述
从上述信息中,可以看出编译好的程序在远程服务器/home/ascend/projects/LinuxTest文件夹中。

3.6 Linux服务器C++程序编译的项目配置

在Visual Studio中右键Linux C++程序,点击属性,在属性页的常规配置中,我们可以对本地项目配置以及远程Linux服务器的项目配置进行更改。

在这里插入图片描述
其中:

  • 输出目录:本机的输出文件目录
  • 中间目录:本机的中间文件输出目录
  • 目标文件名:项目将生成的文件名
  • 目标文件扩展名:此项目将生成的文件扩展名
  • 平台工具集:指远程Linux服务器用于生成当前配置的工具,如果远程Linux服务器有GCC、Clang等编译工具,可以进行选择
  • 远程生成计算机:所指定的用于本项目编译的远程Linux服务器
  • 远程根目录:指远程Linux服务器中的所有以此方式编译的项目的根目录,比如上一节中的/home/ascend/projects
  • 远程项目相对目录:指远程Linux服务器中的当前项目的目录,比如上一节中的/home/ascend/projects/LinuxTest
  • 远程中间相对目录:指远程Linux服务器中的当前项目的中间文件目录,比如上一节中的/home/ascend/projects/LinuxTest/obj/ARM64/Debug
  • 远程输出相对目录:指远程Linxu服务器中的当前项目的输出文件目录,比如上一节中的/home/ascend/projects/LinuxTest/bin/ARM64/Debug
  • 远程部署目录:将项目部署到的远程Linux服务计算机上的指定目录

可以根据需要修改上述配置的属性信息。

3.7 Linux服务器C++程序编译的第三方库链接配置

我们还可以在项目属性中配置本项目所需链接的第三方库,不过需要注意的是,所配置的第三方库必须在远程Linux服务器上存在。配置的方法与在Windows C++程序中配置第三库的方法类似,
不过配置的路径必须是Linux上的路径。

3.7.1 配置第三方库的包含目录

在C/C++ - 常规 - 附加包含目录填入第三方库的头文件包含路径

在这里插入图片描述

3.7.2 配置第三方库的库文件

在链接器-常规-附加库目录中填入第三库所在的文件路径
在这里插入图片描述
在链接器 - 输入 - 库依赖项填入第三方库的名字,这里需要注意的是,假如库名字为libaddf.so,那么只需要填入addf即可,不需要加lib前缀和so后缀,编译器会自行添加。

在这里插入图片描述
参考链接

如果大家有兴趣,可以访问我的个站:https://www.stubbornhuang.com/

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-15 23:07:58  更:2022-03-15 23:15:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:50:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码