一.引言:
二.安装准备:
三.visual studio code 远程连接OpenEuler
1.添加远程连接插件
2.修改OpenEuler的/etc/ssh/sshd_config文件
3.配置vscode,实现远程连接
!!!4.修改编译环境
5.调试运行
四.visual studio远程连接OpenEuler
1.visual studio配置组件
2.打开visual studio,建立一个linux工程
3.编写代码,运行程序
visual studio code与集成开发环境visual studio都能与Linux服务器进行远程连接,实现跨平台开发,本文基于作者实践,详细阐述远程连接过程,来搭建C++开发环境,实现从linux到windows的跨平台开发。
本人安装的是:
OpenEuler安装在VMware虚拟机中,安装过程可以参照Ubuntu的安装过程与官方文档:
Quick Start (openeuler.org)https://docs.openeuler.org/zh/docs/20.03_LTS_SP2/docs/Quickstart/quick-start.html慕课详情 (openeuler.org)https://www.openeuler.org/zh/learn/mooc/detail/
OpenEuler要装有g++,gdb与OpenSSL-server:
安装过程:
OpenSSL-server:
g++:
gdb:
语句:
vi /etc/ssh/sshd_config
如果此时你的OpenEuler在你自己的个人账户,在终端打开该文件会出现下面这种情况:
文件是空的,下面还写着Permission Denied(没有权限),我们顺着地址去寻找以下这个文件
原来该文件在个人用户中是只读文件,无法修改,所以要切换到根用户,语句如下:
su root
然后输入根用户密码,就进入根用户,再打开该文件:
找到如下三行:
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
改成:
AllowAgentForwarding yes
AllowTcpForwarding yes
GatewayPorts yes
退出并保存
vi编辑器的使用请看文章:使用Vi编辑器编写Linux0.11程序并编译运行__坐看云起时_的博客-CSDN博客_使用vi编辑器编写程序并执行一.vi编辑器的使用Linux自带的一个文本编辑器。vi编辑器有3种操作模式:命令模式、插入模式和末行模式。命令模式:当输入vi命令后,会首先进入命令模式,此时输入的任何字符都被视为命令。命令模式用于控制屏幕光标移动、文本字符/字/行删除、移动复制某区段,以及进入插入模式或进入末行模式。插入模式:在命令模式输入相应的插入命令(例如i命令)进入该模式。只有在插入模式下,才可以进行文字数据输入及添加代码,按Esc键可回到命令模式。末行模式:在命令模式下输入某些特殊字符,如“/”、“?”和“:https://blog.csdn.net/qq_53162179/article/details/124672146
然后再在终端输入语句:
systemctl restart sshd.service
刷新服务状态。
点击“+”之后,上方会出现:
输入:ssh root@IP地址
IP地址可以在OpenEuler的终端看到
选择第一个:
出现config文件:
Host: 主机名
HostName:OpenEuler的IP地址
User:root或者自己的账户
这时左侧会出现客户机:
点击右侧的文件夹按钮: 弹出一个新窗口
选择linux。
观察到此时窗口的左下角,已经准备连接OpenEuler了
此时一定要保证:
输入用户的密码
发现右下角加载的状态变为:
再点击拓展按钮,发现左侧:
出现绿色对勾
证明连接成功!
我们搭建这些环境最后都为了调试程序,那么我们现在打开一个文件看会发生什么,点击Open Folder:
我们会发现,并没有像在windows上打开文件一样弹出文件夹,而是在vscode上方出现:
作者瞬间明白我们现在打开文件,编译调试程序都是在linux系统上做的,那么C++的环境也是用的linux上的,所以OpenEuler中必须要装有g++和gdb,来进行编译与调试
我们来捋顺一下思路,我们利用远程linux服务器来进行编译调试,那么在vscode中编写的代码就需要linux中的编译器与调式方法,所以我们要修改C++配置文件,这点非常非常重要,如果不修改会出现很多情况,在后面visual studio的连接中会体现的淋漓尽致。
可以在终端中利用语句:
sudo yum install g++
sudo yum install gdb
那么我们也要在OpenEuler中配置一下能让vscode编写C++程序的环境,操作类似windows中,
VsCode安装和配置c/c++环境(超完整,小白专用)_黄化的多多的博客-CSDN博客_vscode安装gcc1. vsCode配置C/C++环境1. vsCode下载和安装1. 下载Microsoft vsCode[vsCode在这里插入图片描述官网下载: https://code.visualstudio.com/2. 安装vsCode3. 下载中文插件我这边已经下载过,刚卸载但是没有重启编译器,所以界面显示了中文2. MinGW编译器下载和配置1. 下载MinGW在线安装——下载MinGW-W64-install.exe(速度慢)下载压缩包——×86_64-posix-https://blog.csdn.net/weixin_48468423/article/details/118950592要设置三个配置文件:
注意:三个配置文件中几个位置要进行修改:
注意第8行,地址要设置为OpenEuler中存放g++可执行文件的位置,另外两个配置文件对应的地方都要设置为对应的OpenEuler位置,参看上方的vscode的C++程序文章。
经典程序Hello world:
注意要选择第一个C++(GDB/LLDB)
调试后在下方terminal窗口显示Hello World
我们在终端输入ls,回车
能看到目录下的文件,远程连接成功,跨平台调试成功!!!
如果之后的链接中出现错误,可能的原因:
电脑中找到visual studio installer:
点击修改后配置linux开发所需环境:
可以建立一个控制台应用程序,打开之后软件会给出一个远程连接的动态教程,可以参考
下面在上方选项卡中寻找 ”工具”——>"选项“,
在左侧目录中找到:”跨平台“——>"连接管理器”
点击“添加”
主机名:操作系统IP地址 用户名:OpenEuler中要连接的账户
端口号不用动 密码:所要连接用户的密码
点击连接后,可能出现:
点击“是”
连接成功:
下载intelliSense标头
事情还没有结束,当编写一个C++程序之后,可能会出现下面这种状况:
所有的#include开头的都显示源文件无法打开,博主查阅资料,尝试如下解决方法:
也有资料建议在解决方案的属性中寻找包含目录,手动添加源文件:
博主在本地文件夹中找到了各种文件,例如iostream.h,studio.h等,纷纷添加在包含目录中,都无济于事,博主本来是想用visual studio连接,后来打算放弃,尝试vscode连接,就在尝试vscode连接,做到Open Folder打开文件准备调试时,发现打开的是OpenEuler的文件夹,博主立马明白配置的文件都要是linux的,而在visual studio中在“包含目录”中添加文件时,用的都是windows本地的文件。
于是博主在“包含目录”,“库目录”,“源目录”中都添加了OpenEuler中g++的存放路径:
配置完之后,所有的红线立即消失,点击调试,部署成功!
在下面的linux控制台窗口可以看到输出: