在vs2019上编写Linux系统下的c++程序_远程 Linux 系统上的 Ubuntu
正文
第一步, 先将自己的Linux 系统设为静态IP,具体操作如下:
在修改以下文件时,记得先切换为超级用户!
1.修改/etc/network/interfaces 地址配置文件,如下所示:
address 那一行填自己当前的ip
netmask 那一行填自己的子网掩码,默认是255.255.255.0
geteway 那一行填自己的网关
(注 :
查看ip命令: ip addr
查看网关命令: ip route show )
2.修改 /etc/resolvconf/resolv.conf.d/base 配置DNS服务器(DNS服务器配置好了,就可以联网了),如下所示:
建议把两个DNS服务器都写上,那么丢包率更低
在cmd中输入 ipconfig /all (注:当你换了wifi,你的DNS服务器就会改变)
3.执行reboot 命令重启Linux系统
第二步, 对VS2019 进行设置,具体操作如下:
1.打开vs2019,选择“工具(T)”=> “获取工具和功能(T)…”,确认“使用C++ 的Linux 开发”有勾选,本身有勾选,则忽略这一步;如果没有勾选,则选择此项,在点击右下角的修改进行安装,如下所示:
2.重新打开VS2019, 创建新项目,选择Linux平台的空项目创建
3.在第一次编译或调试你的项目时vs会自动让你连接远程环境,在调试->选项->跨平台->连接管理器中进行设置:
成功后的界面:
4.接下来的操作步骤:
添加新建项即可
直接添加即可!
开始码代码!
作完以上配置,在vs2019上 仍然 无法运行Linux的c++程序的 解决办法 :=>
(计算机提示:远程组件未安装=>明明安装了gcc编译器,但是依旧显示未安装的解决办法!)
1.在 Linux 虚拟机 上的 shell 提示符下,运行:
(即在虚拟机的linux操作系统的终端下运行:)
sudo apt-get install openssh-server g++ gdb make ninja-build rsync zip
注:此会提示你输入 root 密码以运行 sudo 命令。 如果是这样,输入密码然后继续。 完成后,可安装所需服务和工具。
2.通过运行以下命令,确保 ssh 服务在 Linux 计算机上运行:
sudo service ssh start
注:此命令将启动该服务并在后台运行它,准备接受连接。
这样提示,就说明ssh已启动!
输出这个,说明运行成功!
在Linux虚拟机下查看=>在vs2019中书写的程序:
执行的程序默认是在你当前文件夹下的projects目录下
同时,我们可以 在vs2019中查看 我们的输出内容!
遇到的问题
如果 vim /etc/resolvconf/resolv.conf.d/base,显示无法写入
解决方法如下:
方法一:
在Linux下,/etc/resolvconf/resolv.conf.d/base是一个系统文件,需要root权限才能对其进行编辑。您可以尝试以下命令:
- 打开终端并输入以下命令以获取root权限:
sudo su
-
输入管理员密码。
-
然后输入以下命令以使用vim编辑器打开base文件:
vim /etc/resolvconf/resolv.conf.d/base
在vim中,您可以按“i”键进入插入模式,并编辑文件。完成后,按Esc键退出插入模式。
- 保存更改并退出vim,请按“:wq”(冒号+w+q)并按Enter键。这会将更改写入文件并退出vim。
请注意,在编辑系统文件时,一定要小心。如果不确定自己正在做什么或者不知道如何修复潜在的错误,请最好备份文件或寻求专业帮助。
如果方法一无法解决,您可以尝试方法二:
如果您按照上述步骤仍然无法编辑文件并保存更改,则可能是由于权限问题,这需要进行进一步排查。
请尝试执行以下命令,以确保您有足够的权限:
ls -l /etc/resolvconf/resolv.conf.d/base
以上命令会显示文件的详细权限信息。如果您没有读取和写入该文件的权限,则需要使用以下命令更改文件所有者和/或权限:
sudo chown <username> /etc/resolvconf/resolv.conf.d/base
sudo chmod 644 /etc/resolvconf/resolv.conf.d/base
将<username>替换为您自己的用户名。这将使您成为文件所有者,并为用户和组提供读取和写入权限。
如果仍然无法编辑文件,请确认系统是否安装了resolvconf软件包,如果未安装则需要先安装。
sudo apt-get install resolvconf
如果问题仍然存在,请检查您的硬盘空间是否充足,或者是否存在其他问题导致文件不可写入。
注:我最后是输入sudo apt-get install resolvconf解决的,原来有的虚拟机不自带resolvconf !