CLion CMakeList的使用

2024-03-02 08:18
文章标签 使用 clion cmakelist

本文主要是介绍CLion CMakeList的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        感觉用Vscode的人比用Clion的人多好多,感觉Clion在配置各种库的时候比Vs好太多了,基本上只要在CMakelist上边做改动就行了,cmake看着好像很奇怪的样子,但是实际上很简单,只是几个固定的语句。

 新建一个工程Test1,加一个main函数,这个时候Cmake里边就是这样的。

#声明要求的cmake最低版本
cmake_minimum_required(VERSION 3.19)
#声明一个工程
project(Test1)set(CMAKE_CXX_STANDARD 14)
#添加一个可执行的程序
#语法: add_executable(程序名 源代码文件)
add_executable(Test1 main.cpp)

  如果想要在同一个工程下边有多个main函数的文件,我们需要这样设置即可。

#声明要求的cmake最低版本
cmake_minimum_required(VERSION 3.19)
#声明一个工程
project(Test1)set(CMAKE_CXX_STANDARD 14)
#添加一个可执行的程序
#语法: add_executable(程序名 源代码文件)
add_executable(Test1 main.cpp )
add_executable(Test2 main2.cpp )
#第一个程序名是不能修改的,就是跟工程名字一样
#添加了一个新的程序名字Test2,对应的cpp名字为main2

 这个时候自己去选择使用使用Test1的cpp或者Test2的cpp,这个两个文件没有关联。


那当我们需要使用其他库时,比如Opencv,Eigen等等,我们只需要在cmake下边添加这些库就行,这个比vscode要好一点。

#设置一下路径
set(OpenCV_DIR "D:/Software/Clion/opencv/opencv/Mingw-build1")
find_package(OpenCV REQUIRED)
#链接opencv库,这里Test1换成自己设置的名字
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(Test1 ${OpenCV_LIBS})
target_link_libraries(Test2 ${OpenCV_LIBS})#也可以直接输入绝对路径
include_directories(D:/Software/Clion/eigen/eigen-3.3.9/eigen-3.3.9/eigen)
set(SOURCE_FILES main.cpp main2.cpp)file (GLOB files *.cpp)

然后就可以使用opencv以及eigen库了,把CMakelist编译一下就ok了。

成功使用Opencv了,要是需要自己写一下头文件的函数模块,我们在添加的时候直接选择加入源文件,CLion会自动帮我们更新CMakelist,如下所示:

直接加入进来了,就可以使用了,over。

这篇关于CLion CMakeList的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/765484

相关文章

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据