当前位置: 首页 > news >正文

Clion远程开发配置

代码开发环境:windows下,基于Clion 2024.3开发,标准为C++20

代码运行环境:远程服务器,ubuntu,cmake版本3.12,gcc11.4,g++11.4,gdb12.1

实现功能:在本地windows开发,代码自动同步到服务器,自动调用服务器的cmake运行,并将服务器的运行输出同步到windows的IDE上。

准备好两个基本的文件:

main.cpp

#include <iostream>

int main() {
    std::cout << "444" << std::endl;
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.11)  # 这里写cmake的最低版本限制,我们服务器的cmake版本是3.22,所以3.11可以兼容。

project(testC)  # 这里的testC是我们的project的名字,不是路径,是名字

set(CMAKE_CXX_STANDARD 20)  # C++标准
set(CMAKE_CXX_STANDARD_REQUIRED ON)  # 要求使用这个标准
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY /home/shiyao/codes/testC)  # 设置cmake输出的可执行文件的根路径


add_executable(hello main.cpp)  # 设置cmake输出的可执行文件的名字,以及工程包含的所有代码

windows上,我们文件放在这里:D:\document\work\codes\testC

大家如果有自己的路径,自行设置

在这个路径下,右键,打开Clion(如果你右键没有Clion,应该是安装的时候没有设置,我只知道重装可以解决,或许有别的方案):

打开之后,会出现这个界面,不用管,直接关了先

点击新建工程:

调整路径:

选择当前代码路径

选择C++标准,我这里是C++20,标准是跟cmake标准对应的,大家可以自己查一下自己服务器上的cmake的版本对应的支持的C++标准是多少

一路按我的选择

有的人可能没有以下界面(可能是之前点了Don't ask again),没有关系,如果你们打开了一个新的window,把旧的关了就可以,就直接看新打开的这个界面

等它loding完

打开设置:

如下点击,配置工具链:

然后,改名字,最好不要有空格,全英文,我这里命名为:161GPU_root

点击设置

点击加号

填写服务器ip、端口、用户名、密码

点击确定之后,点击应用:

配置sftp

随便设置一个名字,我这里是:161gpu_root

然后选择之前设置的ftp

然后,这里加一个正斜杠

点击路径映射

这里注意:

1.把windows的地址中的反斜杠改成正斜杠

2.Deployment path中填上服务器上的你存放代码的根路径,我这里是/home/shiyao/codes/testC

进入cmake设置,选择前面设置好的工具链

设置编译文件的相对路径,注意,这里填的是服务器上的相对路径,是放在你前面设置的代码的根路径下的,我这里是:build

那么服务器上,你的C++代码的编译文件的路径是/home/shiyao/codes/testC/build

点击完确认之后,等它loading完

然后,你本地也会生成一个build文件夹,不用管它

然后设置同步

然后,注意!这个时候,它会自己生成一个新的sftp的同步配置,名字跟我们设置的还有点类似,我们不要删除它

我们点开这个新的配置,发现他的同步路径是错的

我们把这个路径改成我们之前设置的路径:/home/shiyao/codes/testC

我也不知道为什么要做这一步,根据前后步骤发现这个步骤着实应该没啥用,但是不这么做的话会报错

点完ok之后,设置自动同步,选择我们之前设置的sftp(不要选择它自己生成的)

然后选中两个文件

同步

查看服务器,发现选中的文件已经同步过去了

然后,随便改一下代码,然后Ctrl S保存,比如我们把输出改成44,然后我们再看服务器,发现已经同步修改了

然后,清空服务器的缓存(只需要做一次)

然后如下操作,修改一下名字,点击apply

然后再改回来

等它加载完

直接点击运行

相关文章:

  • 【QA】C和C++有哪些常用的调用约定
  • 记录一次,rabbitmq开启stomp插件之后,还是连不上15674端口的问题
  • Baklib企业CMS元数据与协作管理优化
  • Java Spring 中循环依赖的解决之道
  • npm error gyp info
  • AI里的RAG到底是什么?
  • 春天遇到了冬天的吻
  • 《解锁元宇宙构建:AI与云原生区块链的协同奥秘》
  • Web爬虫利器FireCrawl:全方位助力AI训练与高效数据抓取。本地部署方式
  • openEuler24.03 LTS下安装Hive3
  • 十四、OSG学习笔记-事件响应
  • WEB攻防-PHP反序列化-字符串逃逸
  • 如何测试交换机数据回流
  • C#中修饰符——abstract、virtual
  • 天梯赛 PTAL2-009 抢红包
  • Hugging Face模型国内镜像HF Mirror下载
  • Python Pyecharts面试题及参考答案
  • OpenHarmony 开源鸿蒙北向开发——linux使用make交叉编译第三方库
  • 计算机四级 - 数据库原理(操作系统部分)- 第3章「进程线程模型」
  • 数据结构-------栈
  • 澎湃读报丨央媒头版集中刊发社论,庆祝“五一”国际劳动节
  • 央行召开落实金融“五篇大文章”总体统计制度动员部署会议
  • 言短意长|政府食堂、停车场开放的示范效应
  • 金科服务:大股东博裕资本提出无条件强制性现金要约收购,总代价约17.86亿港元
  • 王毅出席金砖国家外长会晤
  • 科学时代重读“老子”的意义——对谈《老子智慧八十一讲》