- 2024-10-26CLion中使用add_subdirectory()模块化管理Stm32项目
背景文章目录背景配置参考源码在Clion中使用STM32的时候,通常把自己开发的内容写在User目录中,然而需要将User目录下的源文件和头文件都添加到生成的CMakeLits.txt中。对于不同风格的库,直接在生成的CMakeLists.txt中添加资源会显得有些乱,可以使用cmake的**子目录(s
- 2024-10-25ESP-IDF搭建项目的目录结构
ESP-IDF中组织项目,下面我将详细介绍ESP-IDF项目的目录结构,并指导您如何设计项目,以便整合之前提供的代码。目录ESP-IDF项目目录结构概述创建ESP-IDF项目项目目录结构详解3.1根目录3.2main目录3.3components目录(可选)配置文件详解4.1CMakeLists.txt文件4.2
- 2024-10-13cmake使用方法
CMake是一个跨平台的构建系统生成器,广泛用于C++项目。它允许开发者编写平台无关的构建脚本(称为`CMakeLists.txt`),然后在不同的平台上生成对应的构建文件(如Makefile、VisualStudio项目文件等)。以下是使用CMake的基本步骤和一些常见的用法。 ###安装CMake首先,你需
- 2024-10-07ESP-IDF 学习 1 工程文件管理
最小项目目录结构├──CMakeLists.txt├──main│├──CMakeLists.txt│└──main.c└──README.mdESP-IDF给用户的函数入口在voidapp_main(void)./CMakeLists.txt管理整个工程./main/CMakeLists.txt管理./main文件夹中的所有文件若要将.c&.h文
- 2024-09-17【CMake】使用CMake在Visual Stdudio编译资源文件和多目标编译
一、资源文件的编译首先,我们的项目结构如下,存在图片和第三方库:配置主CMakel
- 2024-09-09CMakeLists.txt 和 Makefile
CMakeLists.txt和Makefile都是用于自动化编译和构建软件项目的配置文件,但它们在构建系统中扮演不同的角色,并且使用不同的构建工具。CMakeLists.txtCMakeLists.txt 文件是CMake构建系统的配置文件。CMake是一个跨平台的自动化构建系统,它使用 CMakeLists.txt 文件来生
- 2024-09-04使用Cmake-编写CMakeLists.txt 文件
好处:a)跨平台(makefile跟平台强相关)b)cmake可以自动生成makefile编写CMakeLists.txt文件#关键主体:cmake_minimum_required(VERSION3.10)#指定最低支持的CMake版本project(FunMainVERSION1.0)#定义项目名称及版本号#添加可执行文件add_executable(${PROJECT_N
- 2024-08-31【c++实用】CMakeLists 基本用法(一)
指令解释cmake_minimum_required(VERSION3.24):指令指定了所需的最低CMake版本a.作用:确保在执行CMake配置时,使用的CMake版本不低于3.24。如果安装的CMake版本低于指定的版本,CMake将会输出错误信息,并拒绝继续执行后续命令b.兼容性:有助于确保项目构建脚
- 2024-08-25CMake 保姆级教程
1.CMake概述 CMake是一个项目构建工具,并且是跨平台的。关于项目构建我们所熟知的还有Makefile,通过make命令进行项目的构建,大多是IDE软件都集成了make,比如:VS的nmake、linux下的GNUmake、Qt的qmake等,如果自己动手写makefile,会发现,makefile通常依赖
- 2024-08-14视觉SLAM ch3补充——在Linux中配置VScode以及CMakeLists如何添加Eigen库
ch3中的所有代码,除了在kdevelop中运行,还可以在VScode中运行。下面将简要演示配置过程,代码不再做解答,详细内容在下面的文章中。(这一节中的pangolin由于安装过程中会出现很多问题,且后续内容用不到该平台,所以暂时不进行安装)视觉SLAMch3—三维空间的刚体运动http
- 2024-08-13CMake-正规程序编译
正规组织结构下编译正规组织结构指的是文件组织结构规范工整。一般情况下分为binbuildincludesrclib这些文件夹。例如在写使用线程进行tcp连接的demo中,组织架构如下:bin中存放可执行的二进制文件;build为编译文件夹;include存放所有的头文件;lib存放库文件,本文中没有使用;s
- 2024-07-27CMake学习(一)
CMake学习(一)1、简介CMake是一个强大的软件构建系统,可以用简单的语句来描述所有平台的安装(编译过程)可以编译源代码、制作程序库、产生适配器(wrapper)、还可以用任意的顺序建构执行档https://cmake.org/2、构建基础项目最基础的CMake项目是由单个源代码文件构建的可执行
- 2024-07-11CMakeLists.txt编写思路
近期在linux编写CMakeLists.txt文件,整理了一些思路。一、编写CMakeLists.txt的基本步骤和思路:初始化CMake:使用cmake_minimum_required指令指定CMake的最小版本要求,以确保兼容性。使用project指令定义项目名称和可选的语言。设置变量:使用set指令设置项目相关的变量,
- 2024-07-05cmake使用03:库链接
目录如下:./step3是我们的这个项目工程目录,./step3/MathFuncions/下存在第三静态库libMathFunciotns.a,提供mysqrt()函数。r如何通过cmake传递宏给CMakeLists.txt以决定是否链接第三方库,源文件中是调用第三方库的mysqrt()还是标准库的sqr()step3/--|---build|---
- 2024-06-23CMake从安装到精通
目录引言1.CMake的安装2.CMake的原理 3.CMake入门3.1 CMakeLists.txt与注释3.2版本指定与工程描述3.3 生成可执行程序3.4 定义变量与指定输出路径3.5 指定C++标准3.6搜索文件 3.7包含头文件 4.CMake进阶4.1生成动静态库4.2 链接动静态库4.3日
- 2024-06-16QtCreator CMakeLists.txt添加模块(Modules)
修改以下位置,添加模块...set(CMAKE_CXX_STANDARD20)#设置C++标准#查找Qt6find_package(QTNAMESQt6Qt5REQUIREDCOMPONENTSWidgets**Multimedia**)find_package(Qt${QT_VERSION_MAJOR}REQUIREDCOMPONENTSWidgets**Multimedia**)...#链接Qt6模块和库target_l
- 2024-06-10Ubuntu 20.04 配置LI-Calib问题总结
系统环境为ubuntu20.04+ros1noetic。在配置浙大开源标定工具Li_Calib时会遇到一些匪夷所思的小问题,下面做个简单总结。1.PCL报错这里是因为PCL1.10需要C++14或以上标准,而源码的cmakelist里设置的是c++11,因此需要在两处做修改,一处是/src/Li_Calib/CMakeLists.txt,一处是/s
- 2024-06-06Linux 35.5 + JetPack v5.1.3@ ego-planner编译安装
Linux35.5+JetPackv5.1.3@ego-planner编译安装1.源由2.编译&安装Step1:依赖库安装Step2:建立工程Step3:编译工程Step4:安装工程3.问题汇总3.1planner/plan_env-OpenCV3.2uav_simulator/local_sensing-CUDA优化4.总结1.源由Fast-PlannerFUELRACEReg
- 2024-05-25CMake
一、CMake概述CMake是一个跨平台的项目构建工具。编写完CMakeLists.txt(注意文件名称是固定的)后,执行cmake命令,生成Makefile文件。当然你也可以手动去编写Makefile文件,但是编写的工具量比较大,而且依赖关系也比较多,比较容易出错。从项目源码到可执行文件的流程图:项目的一般目录结
- 2024-05-20PROJECT_SOURCE_DIR 和 CMAKE_SOURCE_DIR
PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR对比在CMake中,PROJECT_SOURCE_DIR和CMAKE_SOURCE_DIR是两个非常重要的变量,它们都指向项目的源代码目录,但在多项目(子项目或多个CMakeLists.txt文件)的情况下,它们的值有所不同。CMAKE_SOURCE_DIR定义:CMAKE_SOURCE_DIR 指向最顶层的C
- 2024-05-20在CMakeLists.txt中添加源文件的几种方法
单个.cpp源文件的情况用这段代码进行测试,CMake中添加一个可执行文件作为构建目标:#include<cstdio>intmain(){printf("Hello,world!\n");}指定源文件的时候可以有两种方式。在创建目标的时候直接指定源文件add_executable(mainmain.cpp)先创建目标,再添加源
- 2024-05-04CMakeLists.txt --- install使用
例:cmake_minimum_required(VERSION3.9)project(test)set(CMAKE_BUILD_TYPEDebug)add_library(hahatest.cpp)install(TARGEThahaDESTINATION/home/linxisuo/project/test)install(DIRECTORY${CMAKE_SOURCE_DIR}/testDESTINATION/home/linxisuo)说明:1.安装
- 2024-05-04CMakeLists.txt --- 导入接口库(预编译库)
以接口库的方式导入预编译库cmake_minimum_required(VERSION3.9)project(test)set(CMAKE_BUILD_TYPEDebug)set(CMAKE_C_FLAGS"$ENV{CFLAGS}-O2-Wall-pthread")set(CMAKE_CXX_FLAGS"$ENV{CFLAGS}-O2-Wall-pthread-std=c++11-std=gnu++11")#设置mo
- 2024-03-26CMakeLists_find_package以及C++基本语法
命令catkin_make等效于以下指令:cd~/catkin_wscdsrccatkin_init_workspacecd..mkdirbuildcdbuildcmake../src-DCMAKE_INSTALL_PREFIX=../install-DCATKIN_DEVEL_PREFIX=../devel命令cmake与makeinstall-DCMAKE_BUILD_TYPE=:releasedebug-DCMAK
- 2024-03-19CMakeLists.txt基本语法及使用
1、cmake的说明cmake是一种高级编译配置工具当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等)这时候便需要用到cmake。CMakeList.txt中指令不区分大小写。CMakeList.txt中的参数和变量是区分大小写,名称只能用字母,数字,下划线,破折号。