经验——CLion通过SSH远程开发__imx6ull的linux开发

CLion:2024.2.2

引言

        初学嵌入式linux开发看的是正点原子的imx6ull教学视频,使用的是VS Code。虽然VS Code的代码补全和界面还可以,也能使用诸如通义灵码等插件,但相比之下,CLion更为出色。

        虽然在嵌入式Linux开发里,集成开发环境IDE已经不是那么重要,平时用的最多的是命令行。但是,敲代码时能有一个好的编辑器那是再好不过了,可以极大提高效率、减少错误。CLion则具备了诸如格式化代码、自定义代码样式、强大的代码补全、丰富的插件库、代码检查、集成git、代码洞察等功能,可以极大地改善开发体验。

        CLion的安装配置过程可以参考【嵌入式IDE】等博客,可按需查看。

          在使用CLion开发时,可以直接在Linux(虚拟机)里面安装一个CLion,可以在主机(Windows)里远程开发。

        在Linux里直接安装CLion的话,可以更为直接的使用Linux环境,比如桌面和命令行随时可以切出来。但编译像Linux内核这样的大型项目时,会非常非常地卡,即使我的虚拟机配置的内存是16GB,处理器分配了16个(一共就16个)。
        如果是通过远程开发的话,就不容易出现卡顿现象,只不过在使用Linux桌面环境时需要来回切换,除非你有两个显示器

        可惜的是,目前由于CLion无法正确识别Linux内核项目的Makefile,所以无法使用代码洞察,很难进行自动代码补全,自动代码补全凭通义灵码插件一己之力承担。

        长话短说,接下来就讲如何配置SSH来使用远程开发,主要是为了解决在虚拟机里使用CLion编译linux内核源码时容易崩溃的问题。

一、前置条件

  • 使用过CLion开发,熟悉开发流程
  • 使用过Linux环境开发一些裸机项目(正点原子imx6ull视频教程第一期)
  • 配置过VMware虚拟机的网卡

二、基础准备

1,安装SSH:

        在Ubuntu里安装open-ssh。

sudo apt update
sudo apt install openssh-server

         安装完成后,测试连接情况,一般都是可以正常使用的。此时可以通过按住“Ctrl+C”来停止这个界面(不是停止ssh),以便继续输入命令

sudo systemctl status ssh


        如果没有正常工作,可以开启ssh

sudo systemctl start ssh

2,虚拟机网络配置:

        最好有一个网卡是NAT模式,这个主要供虚拟机上网。ip地址可以选择自动分配,一般也不大会变动,需要的话可以设置为静止ip。

        


        查看ip地址,下面那个ens37是NAT模式,这里可以选用它作为服务器ip。此外,需注意SSH是一种网络协议,与ftp、http在本质上没有什么差别,都是进行网络通信的,自然需要ip地址。

        

三、CLion配置SSH

1,前言:

        随便创建一个工程,因为主体是在Linux环境里,需要使用Linux的命令行,不需要在本地导入工程。并且由于Linux内核项目的Makefile无法被CLion正确识别,所以无法使用CLion自带的集成工具,比如构建用的小锤子,所以不必配置什么远程工具链

        但是配置远程工具链时可以顺带建立部署,一举两得,那么就配置远程工具链


2,配置远程工具链:

        配置过程较为简单,先进入如下界面【设置构建、执行、部署工具链】

        然后点击【凭据】那一行最右边的设置符号,进入下述界面。然后先点击左上角的“+”,字后在右边填上主机用户名,最后测试连接。

        理论上信息没有填错,并且此时虚拟机是开着的状态,那么测试连接时就会出现连接成功的提示信息

        配置完成后,不要忘记点击确定。


3,修改路径(可选)

        一般来说,我们会把Linux项目目录放在用户下的某个路径,而不是根路径,所以可以把远程连接的根路径改为Linux项目路径

        如果前面配置工具链正常的话,会在下面的【部署】里出现如下信息,此时你可以把根路径修改为自己项目的路径,以便下次打开CLion时会自动进入当前目录

四、基础使用  

1,文件栏:     

        配置完成后,还是这样的大白界面,但此时你会发现右侧会多一个远程主机

        点击后就会出现项目的文件列表

        但这样看起来并不舒服,同时由于不在本地(主机)开发,所以本地的项目也就没有什么作用了。此时,你可以把本地的项目栏收起来,然后把远程主机栏移动到左边。

        右击远程主机栏,即可出现移动选项

        移动后,就出现了以下界面,此时如果你双击任何一个文件,就会在屏幕右边出现,与本地开发没有什么区别


2,终端:

        此时可以右击项目目录,创建SSH会话,其实就是创建一个Linux的终端

        下面就会出现一个Linux终端

五、补充

        前面主要讲的是使用终端,在Linux开发中,有时也可能在本地开发,然后把工程上传同步到Linux里。

        这时,需要用到本地项目

        然后右键项目的根目录,我这里的项目目录名是linux。然后下面会有部署这个选项,部署的子选项中,有上传、下载、同步等选项。

        如果你需要在本地开发,那么可以把Linux项目下载下来,之后如果想同步的话,编辑器上方会出现相应的提示

参考博客

clion连接本地虚拟机linux开发_虚拟机远程连接clion-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1545439.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

怎样才能远程了解在iPhone、iPad上看了什么网站、用了什么APP?

有不少家长在网上吐槽: ——自家小孩每天抱着手机看,一看就两三个小时,到底在看什么? ——没有不允许小孩玩手机,但他一玩就一整天,用什么户外活动、家庭活动都吸引不回来。 ——每次问小孩在手机上看什…

Python酷玩之旅_如何在Centos8顺利安装Python最新版(3.12)

全文导览 前言Q:如何在Centos8顺利安装Python最新版一. 下载安装包1.1 wget1.2. 官网下载 二. 执行安装2.1. 检查环境2.2. 安装依赖2.3. 解压tgz包2.4. 编译2.5. 安装2.6. 设置环境变量2.6.1 编辑/etc/profile2.6.2 激活生效 三. 操作示例3.1. helloworld 结语 前言…

研一上课计划2024/9/23有感

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、需要认真上课的1.应用数理统计(开卷考试)2.最优化方法(开卷考试)3.跨文化交际(主题演讲20课堂讨…

基于微信小程序的童装商城的设计与实现+ssm论文源码调试讲解

2 系统开发环境 2.1微信开发者工具 微信开发者工具现在已经被小程序开发团队开发运行,目前微信开发者工具任然在不断的完善中,在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具,开发者工具将使用这个微信帐号的信息进行小程…

【设计模式-迭代】

定义 迭代器模式(Iterator Pattern)是一种行为型设计模式,用于提供一种顺序访问集合对象元素的方式,而不暴露该对象的内部表示。通过迭代器,客户端可以在不需要了解集合实现的细节的情况下遍历集合中的元素。 UML图 …

基于TRIZ理论的创新设计流程是怎样的?

TRIZ(TheoryofInventiveProblemSolving),即发明问题解决理论,是一套基于知识的、面向设计者的系统化创新方法学。Altshuller通过对数百万份专利文献的研究,发现了技术问题解决过程中的普遍模式和规律,从而建…

Cloudera安装指南:新手也能轻松搞定!

回顾:之前《深度挖掘|Cloudera安装不再难!基础环境搭建全解析》中,我们深入探讨了如何在企业环境中精心准备系统环境,为大数据平台Cloudera 搭建奠定坚实基础。今天,我们将正式进行Cloudera Manager的下载安…

网络PPP协议802.11协议以太网协议IPV4协议在思科模拟器的实现

1)PPP协议 1. 选择2620系列交换机,添加WIC-2t模块,具有两个serial串行接口; 2.Router>enable:进入特权模式 Router#configure terminal:全局配置模式 Enter configuration commands, one per line. End with CNTL…

低成本搭建企业专属云电脑 贝锐向日葵推出私有化云电脑服务

作为一种硬件虚拟化技术,云电脑的优势是十分显著的,比如可以随时随地访问,拥有较高的性能、无需我们购买昂贵的实体硬件、计算资源可以按需灵活拓展等等。 如今,越来越多的企业也开始认识到云电脑所带来的优势,将云电…

视频压缩怎么操作?3款工具轻松告别内存不足的困扰

是不是越来越多的朋友都在用视频记录日常的点滴啊? 是不是想着把视频发到分享平台上,却发现视频的时长超过了平台的限制,没办法直接上传? 想找好用的视频压缩软件手机版,却发现都是需要付费的? 别急&…

基于springboot在线点餐系统

基于springbootvue实现的点餐系统 (源码L文ppt)4-077 第4章 系统设计 4.1 总体功能设计 一般个人用户和管理者都需要登录才能进入点餐系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使用…

vue3的生命周期有哪些

vue3的生命周期:1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyed;9、activated;10、deac…

STM32基础学习笔记-DHT11单总线协议面试基础题7

第七章、DHT11: 单总线协!议 常见问题 1、DHT11是什么 ?有什么特性 ? 2、单总线协议是什么 ?原理 ?DHT11的单总线协议的组成 ? ## 1、DHT11定义 单总线协议是一种用于在多个设备之间进行通信的协议,所有…

Calcite第一课

Calcite 是什么? 2024 年 9 月,最新版本 1.37.0 。前面三节我们先不看任何的源码,只从背景、介绍、概念、原理层面入手,作为深入学习和源码分析的预备。 如果用一句话形容 Calcite,Calcite 是一个用于优化异构数据源的…

2024年CSP-J认证 CCF信息学奥赛C++ 中小学初级组 第一轮真题-阅读程序题解析

2024 CCF认证第一轮&#xff08;CSP-J&#xff09;真题 二、阅读程序题 (程序输入不超过数组或字符串定义的范围&#xff0c;判断题正确填√错误填X;除特殊说明外&#xff0c;判断题 1.5分&#xff0c;选择题3分&#xff0c;共计40 分) 第一题 01 #include <iostream>…

【C++进阶】2024年了set、map还搞不懂底层细节?

&#x1f680;个人主页&#xff1a;小羊 &#x1f680;所属专栏&#xff1a;C 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 一、前情提要1、什么是关联式容器&#xff1f;2、键值对又是什么&#xff1f; 二、树形结构的关联式容器1、set1.1…

在不受支持的 Mac 上安装 macOS Sequoia (OpenCore Legacy Patcher v2.0.1)

在不受支持的 Mac 上安装 macOS Sequoia (OpenCore Legacy Patcher v2.0.1) Install macOS on unsupported Macs 请访问原文链接&#xff1a;https://sysin.org/blog/install-macos-on-unsupported-mac/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主…

【CoppeliaSim V4.7】The Python interpreter could not handle the wrapper script

[sandboxScript:error] The Python interpreter could not handle the wrapper script (or communication between the launched subprocess and CoppeliaSim could not be established via sockets). Make sure that the Python modules ‘cbor2’ and ‘zmq’ are properly i…

【C++】stack和queue的使用及模拟实现

stack就是栈的意思&#xff0c;这个结构遵循后进先出(LIFO)的原则&#xff0c;可以将栈想象为一个子弹夹&#xff0c;先进去的子弹后出来。 queue就是队列的意思&#xff0c;这个结构遵循先进先出(FIFO)的原则&#xff0c;可以将对列想象成我们排队买饭的场景&#xff0c;先排…

Shopee 大促想爆单如何准备?EasyBoss ERP为你准备了一份攻略!

Shopee下半年第二个大促节点——10.10品牌大促即将来到&#xff0c;根据Shopee的官方的数据&#xff0c;9.9大促当天&#xff0c;Shopee Mall单量增至平日4倍。 老板们&#xff0c;准备好自己的热卖爆款冲击10.10大促了吗&#xff1f; 图源&#xff1a;Shopee 为助力大家迎战大…