vscode配置远程
这里我使用虚拟机进行展示,首先需要你的虚拟机安装好ssh
没安装好就执行下面的命令安装并开启服务
sudo apt-get install ssh
sudo service ssh start
ps -e | grep ssh
vscode安装 remote-ssh扩展
点击左下角的远程连接,我这里已经连接好一个虚拟机了,所以有一个ip名字。
连接到主机
第一次连接,添加新的ssh主机
通过输入ssh 虚拟机用户名@虚拟机ip
添加,如我的就是ssh iceylia@172.18.190.85
输入密码后
会打开一个config文件,其中Host是名字,可以随便设置。
关掉重新点击左下角的远程连接,连接到主机
此时以及有刚刚添加的虚拟机
点击后输入密码确定即可。
安装c++插件
将这些插件配置好,中文不是必要的
编译c程序
远程环境需要先配置好g++还有gdb以及gcc
sudo apt install g++
sudo apt install gdb
sudo apt install gcc
如果想要执行简单的c程序,可以直接点击右上角,但是复杂程序不行。
命令行
假如不想学CmakeLists或者makefile,到这里直接用命令行编译也行,但是编译大程序就很麻烦
比如有一个test.cpp程序
g++ -o test test.cpp
直接执行就可
这里就不讲如何用命令行编译更复杂的程序了
Makefile
Makefile是对命令行命令的封装,makefile能实现所以cmake能实现的功能。
Makefile就是将命令行编译的内容集中到一个文件里面
比如下面是一个简单的makefile
test:test.og++ test.o -o test
test.o:test.cppg++ -c test.cpp
执行make后就能自动执行
cmake
需要先安装好
sudo apt install g++
此时写一个简单的CmakeLists.txt放到主程序下
cmake_minimum_required(VERSION 3.0)project(test)# CMAKE_CXX_FLAGS是预设的变量,用于存放c++编译选项
# 下面代码将原有的编译选项取出,在后面附加上c++0x标准,也可以-std=c++11、-std=c++14 或者 -std=c++17
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")add_definitions("-Wall -g")# 生成可执行文件
add_executable(${PROJECT_NAME} test.cpp)
mkdir build # 创建一个build文件夹
cd build # 打开build
cmake .. # 执行上级的Makelists
此时会有很多cmake相关文件生成,最重要的就是makefile
我们可以通过make
命令生成可执行文件。
之后只要文件结构没有被修改,直接使用make命令即可。
被修改了,就需要重新写cmakelists并且执行cmake
命令.
运行linux图形化程序
主机配置
首先需要下载一个xserver的应用,比如 vcxsrv
打开XLaunch
一开始设置display为10
最后设置勾选Disable access control
其余默认
vscode配置
打开config文件,在连接时的配置ssh主机中
加上下面两行代码
ForwardX11 yes
ForwardX11Trusted yes
服务端配置
设置环境变量为主机ip+冒号+display ip:display
, 之前设置XLaunch为10,这是也是10.
export DISPLAY=192.168.231.110:10.0
查看是否设置成功
echo $DISPLAY
运行测试程序
xeyes
会出现如下窗口
密钥
打开主机命令行
用ssh-keygen -t ras -C "备注内容"
-t 代表密钥类型,这里是ras型。
在C:\Users\用户名\.ssh
下能找到生成的密钥id_rsa和公钥id_rsa_pub。
需要将id_rsa_pub放到服务端的~/.ssh/authorized_keys
文件中,没有就创建,名字不能变。
实现方式有很多,笔者用cat追加到authorized_keys下,注意id_rsa.pub需要根据自身情况修改,笔者放到当前目录下,所以就一个名字。
cat id_rsa.pub >> ~/.ssh/authorized_keys
最后打开vscode的远程配置,添加本地密钥位置
IdentityFile "C:\Users\iceylia\.ssh\id_rsa"