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后缀,编译器会自行添加。
参考链接
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Visual Studio – 借助远程Linux服务器环境在Visual Studio中编写和远程调试Linux C++程序
原文链接:https://www.stubbornhuang.com/2004/
发布于:2022年03月08日 16:21:23
修改于:2023年06月26日 20:31:01
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52