Unbuntu下载Clion并配置Cmake工具

news2024/9/21 19:49:46

Clion

  • 下载CLion
  • 安装Cmake工具

下载CLion

如果使用的是Unbuntu系统,一行命令就搞定了

sudo snap install clion --classic

其他系统的下载方法就不在这里记载了

安装Cmake工具

刚下好Clion的时候,打开之后,如果没有Cmake工具.Clion是不会帮助我们自动构建项目的,从Clion的右上角的运行按钮没亮就可以看出来,

安装cmake有如下方式:
第一种:
直接使用apt安装

sudo apt install cmake

但是这种方法安装的版本都很老,一般来说是不满足我们的需要的.
我们可以去查看Clion创建项目时,Cmakelists文件中标注的需要的CMake构建工具的最低版本,如图:
在这里插入图片描述
在这种情况下,我们必须安装Cmake 3.25以上的版本

第二种:
去Cmake的官网下载压缩包
官网
在这里插入图片描述
下载好之后,解压缩

tar -zxvf cmake-3.26.4.tar.gz

然后,检查其中的bootstrap文件

cd cmake-3.26.4
./bootstrap

其中这里可能会出一些问题:
错误1:
在这里插入图片描述
这种情况是Cmake缺少g++的依赖项,你需要先下载g++
如果缺少一些其他的依赖项,如gcc,make,wegt,curl也可能会导致出错

错误2:

在这里插入图片描述
说明在配置 CMake 时找不到 OpenSSL。解决此问题的方法取决于你的系统和包管理器。

安装Openssl开发包:

sudo apt install libssl-dev

可能是由如下原因导致:
缺少 OpenSSL 开发包:CMake 需要访问 OpenSSL 的头文件和库文件来构建与 OpenSSL 相关的功能。如果系统中没有安装 OpenSSL 的开发包或者安装的版本不正确,CMake 就无法找到所需的文件。

路径配置问题:CMake 在配置过程中使用了一些默认的搜索路径来查找依赖项。如果 OpenSSL 的头文件和库文件不在默认搜索路径中,CMake 就无法找到它们。

环境变量问题:CMake 使用环境变量来确定所需的路径和选项。如果环境变量设置不正确或者与 OpenSSL 相关的环境变量未正确配置,CMake 无法正确识别 OpenSSL。

这里可能还会出现一些别的错误,但是我只遇到这两种
确保./bootstrap没问题之后

make 
sudo make install

就可以成功安装

检查cmake版本

cmake --version

检查cmake路径

which cmake

如果在检查cmake路径时没问题,但是检查cmake版本时却不显示cmake的版本信息是由于安装路径不对导致的,通常情况下,这个路径是 /usr/local/bin。但有时候,可能会因为环境变量或其他配置问题导致 cmake 命令无法找到正确的安装路径。

你可以通过命令 (cmake的路径)

/usr/local/bin/cmake --version

来查看版本
并把这个路径添加到环境变量之中,就可以直接使用cmake --version
来查看版本了

vim ~/.bashrc

在末尾加上:

export PATH="/usr/local/bin:$PATH"

这里改成你安装cmake的路径,你可以通过which cmake找到cmake的位置

然后,刷新配置文件

source ~/.bashrc

验证是否成功

cmake --version

方法三
使用ppa安装
1.添加签名秘钥

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -

2.将存储库添加到您的源列表并进行更新

sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get update

3.apt安装

sudo apt install cmake

这样就下载好了


以上三种方法,如果其中一种因为某些原因卡住了,可以换一种方法安装,当成功安装好cmake之后,你可以重启Clion,然后创建一个新项目,然后通过观察新项目右上角是否有运行按钮判断Clion是否已经使用Cmake工具帮你自动配置了.

如果自动配置了,说明Cmake生效了!

后续会继续补充该文章…

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

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

相关文章

父亲节礼物:用Python编写一个小型游戏

名字:阿玥的小东东 学习:Python、C/C 主页链接:阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 安装必要的库 绘制游戏界面 添加游戏元素 为游戏添加交互性 结论 一、父亲节的来历简介 二…

taskAffinity、launchMode 与 flag

1、官方文档 public static final int FLAG_ACTIVITY_CLEAR_TASK 如果在传递给 的意向中设置,则 此标志将导致与 在活动开始之前要清除的活动。即活动 成为原本为空的任务和任何旧活动的新根 都完成了。这只能与 结合使用。Context.startActivity()FLAG_ACTIVITY_NE…

Kubernetes Blog 更新:DaoCloud 为数字世界寻找全局最优解

“ 近日,一篇名为《「DaoCloud 道客」与 Kubernetes--为数字世界寻找全局最优解》的博文,在 Kubernetes 的全球官网上线(链接:https://kubernetes.io/case-studies/daocloud/),下面一起来了解一下具体内容…

ArcEngine二次开发0——入门(下载 部署 组件学习)

折腾一下ArcGIS Engine二次开发。 目录 1、开发环境配置2、部署一个ArcGIS Engine应用程序3、ArcObject组件学习4、报错及解决4、其他 1、开发环境配置 参考:https://blog.csdn.net/H48662654/article/details/113384150 (使用ArcEngine前,…

时序预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机时间序列预测

时序预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机时间序列预测 目录 时序预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机时间序列预测效果一览基本介绍程序设计学习总结参考资料 效果一览 基本介绍 Matlab实现SO-ELM蛇群算法优化极限学习机时间序列预测 1.data为单变量时间…

拿捏指针(三)--- 对指针的高级认识(高级)

函数指针 函数指针的定义 通过对 对指针的基本认识 和 对指针的进阶认识 我们知道,整型指针是指向整型的指针,数组指针是指向数组的指针,其实,函数指针就是指向函数的指针。 和学习数组指针一样,学习函数指针我们也需…

【WebPack】前端工程化

文章目录 前端工程化一、前端工程化概念二、前端工程化优点三、前端工程化解决方案四、webpack 的基本使用4.1 什么是 webpack4.2 创建列表隔行变色项目4.3 安装 webpack4.4 配置 webpack4.5 自定义 打包入口与出口 五、webpack 的插件使用5.1 webpack 常见插件5.2 webpack-dev…

【Linux】进程优先级

目录 进程优先级什么叫做优先级?Linux优先级更改优先级 进程优先级 什么叫做优先级? cpu资源分配的先后顺序,就是指进程的优先权(priority)。 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用…

imx6ull固化和更新uboot、zImage和dtb方法---超详细总结

目录 一、固化系统 1. 使用mfgtool上位机固化系统 1.1 mfgtool固化系统到 SD 卡 1.2 mfgtool固化系统到 eMMC 1.3 mfgtool固化系统到 NAND FLASH 2.使用脚本固化系统 2.1脚本固化系统到 SD 卡 2.2 脚本固化系统到 eMMC 2.3 脚本固化系统到 NAND FLASH 二、更新系统 …

用Midjourney画“球迷冲进球场拥抱梅西“事件

作者 | 兔子酱 最近,被“球迷冲进球场拥抱梅西”刷屏了!在阿根廷对战澳大利亚北京工体友谊赛上,一名中国“狂热少年”冲进球场,成功拥抱了梅西,甚至摆出了拍照姿势。拥抱后在球场狂奔,还有大马丁击了掌,最后…

C++学习之STL vector

Vector是什么? 问chatgpt看看是什么回答? ChatGPT: C中的vector是标准库(STL)提供的一种动态数组容器。它能够在运行时根据需要自动调整大小,并且可以存储不同类型的元素。 使用vector,您可…

Java虚拟机——HotSpot的算法实现细节

根节点枚举 在可达性分析算法中从GC Roots集合中找引用链非常的麻烦 。固定可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(栈帧的本地变量表)中。当Java应用很大的时候,类和常量数量很多…

了解redis以及其基本命令

目录 1 编译安装2 启动3 redis 是_3.1 远程字典服务3.2 内存数据库3.3 kv数据库3.4 数据结构数据库3.4.1 string 是一个安全的二进制字符串;3.4.2 双端队列 (链表) list :有序(插入有序);3.4.3 …

Dubbo的10种集群容错模式

学习Dubbo源码的过程中,首先看到的是dubbo的集群容错模式,以下简单介绍10种集群容错模式 1.AvailableCluster 顾名思义,就是可用性优先,遍历所有的invokers,选择可用的 2.MergeableCluster:当接口需要多个服务组合返回…

陌生人,可以看一看你最近复制了什么吗?

DDoS 攻击采用分布式的方式进行,攻击者通常会控制网络中许多终端或服务器,这些终端或服务器同时向被攻击目标发送大量的请求,被攻击目标无法判断这些请求来源的合法性,因此会无法正常处理这些请求,而导致服务中断&…

Web前端开发技术储久良第三版课后答案

P16-第1章 练习与实验答案 练习1 1.选择题 (1)B (2)B (3)B (4)D (5)A 2.填空题 (1)标记、文本 (2)Tim Berners-Lee(蒂姆伯纳斯李) (3)查看 (4)NotePad、EditPlus、TextPad、TopStyle、UltraEdit等 (5)超文本标记语言、统一资源定位符(器&am…

Fiddler如何比较两个接口请求?

进行APP测试时,往往会出现Android和iOS端同一请求,但执行结果不同,这通常是接口请求内容差异所致。 如果你想学习Fiddler抓包工具,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的Fiddler抓包工具教程&…

多模态对比互学习和伪标签再学习半监督医学图像分割

文章目录 Multi-modal contrastive mutual learning and pseudo-label re-learning for semi-supervised medical image segmentation摘要本文方法实验结果总结 Multi-modal contrastive mutual learning and pseudo-label re-learning for semi-supervised medical image segm…

Linux系统之部署Yearning SQL审核平台

这里写目录标题 一、Yearning介绍1.1 Yearning简介1.2 Yearning特点1.3 Yearning功能 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查操作系统版本3.2 检查系统内核版本3.3 检查Docker版本 四、部署mysql数据库4.1 创建数据目录4.2 创建mysql数据…

【计网】第一章 计算机网络概述

文章目录 计算机网络概述一、计算机网络在信息时代中的作用二、互联网概述2.1 互连网概念2.2 网络的网络2.3 互连网基础结构发展的三个阶段2.4 互连网的标准化工作 三、互联网的组成3.1 互联网的边缘部分3.2 互联网的核心部分3.2.1 基础概念3.2.2 电路交换3.2.3 报文交换3.2.4 …