首页 > 其他分享 >cmake

cmake

时间:2024-10-26 10:48:18浏览次数:1  
标签:文件 cmake make Makefile 编译 mingw

目录

参考

win10 cmake下载:https://cmake.org/download/ ,make命令在mingw里,安装mingw即可,一般IDE会自带cmake和mingw,vscode需要安装插件

文档:https://cmake.org/cmake/help/latest/index.html

博客:https://subingwen.cn/cmake/CMake-primer/

概述

cmake是一个构建工具

编译步骤:
c/cpp文件,经过编译器(tool chain)进行编译,包含四个步骤:预处理(头文件展开、替换宏)、编译(得到汇编文件)、汇编(得到二进制文件,.obj/.o文件)、链接(得到可执行文件)

对于大项目,文件非常对,以上处理过程非常繁琐,不好维护

一种解决方案是编写MakeFile,通过一系列的指令告诉编译器如何编译对应的源文件,使用批处理命令make进行处理Makefile中的命令,生成最终的可执行文件(以及库文件:动态库、静态库)

另一种解决方案就是cmake,它比makefile更高级,它不依赖平台,可以根据不同的平台编译成对应的Makefile。大概的使用方式:

  • 创建脚本文件CmakeLists.txt,编写一系列的执行
  • 执行cmake,就会生成Makefile,接下来就可以调用make,使用当前操作系统的编译工具链进行编译了

编译成动态库、静态库给第三方使用:保密,不泄露源码;容易维护,否则可能需要引入别人很多的源文件

使用

编写CmakeLists.txt,执行cmake 文件所在目录,会生成Makefile,执行make进行编译,有的平台并不是生成Makefile文件,编译的话需要使用cmake --build .

标签:文件,cmake,make,Makefile,编译,mingw
From: https://www.cnblogs.com/bingmous/p/18403104

相关文章

  • [C++]在windows基于C++编程署yolov11-pose的openvino姿态估计模型cmake项目部署演示源
    【算法介绍】在Windows系统上,基于C++编程部署YOLOv11-Pose的OpenVINO姿态估计模型,可以通过CMake项目来实现。以下是简要介绍:首先,需要准备开发环境,包括安装OpenVINOToolkit、CMake、OpenCV和C++编译器(如GCC或MSVC)。OpenVINO是英特尔开发的一款用于优化和部署深度学习模型的工具套件......
  • [C++]在windows基于C++编程署yolov11-cls的openvino图像分类模型cmake项目部署演示源
    【算法介绍】在Windows系统上,基于C++编程部署YOLOv11-CLS的OpenVINO图像分类模型,可以通过CMake项目来实现。以下是简要介绍:首先,需要准备开发环境,包括安装OpenVINOToolkit、CMake、OpenCV和C++编译器(如GCC或MSVC)。OpenVINO是英特尔开发的一款用于优化和部署深度学习模型的工具套件,......
  • Cmake中“目标层级“的概念(target_include_directories和include_directories的区别)
    CMake中,“目标层级”(Target-Level)是一个核心概念,涉及到项目中构建的具体实体,如可执行文件、库等。理解目标层级对于有效地使用现代CMake功能、管理依赖关系以及配置构建过程至关重要。以下将详细解释什么是目标层级、其重要性以及如何在CMake中应用相关命令。什么是“......
  • cmake中link_directories()与link_libraried()全局性的理解
    在CMake中,link_directories()和link_libraries()是全局命令,这意味着它们的设置会影响之后在CMakeLists.txt文件中定义的所有目标(targets)。要深入理解这一点,下面将详细解释全局命令的作用范围、它们如何影响项目中的多个目标、以及为什么在现代CMake中更推荐使用......
  • cmake学习笔记
    最近在学cmake的用法,参考了cmake使用详细教程(日常使用这一篇就足够了)这篇文章,这篇文章讲的很仔细,下面记录自己的学习过程。1、系统以及开发工具一开始想通过虚拟机安装Ubuntu和vscode,后面想到了之前本机Windows安装过wsl,wsl的就是Ubuntu,在wsl+本地vscode的开发下,很快就把文章......
  • ubuntu更新Cmake
    CMake先验知识创建软链接如何删除符号链接如何找出失效链接并将其删除PATH优先级查看当前CMake命令的位置高版本CMake安装参考先验知识创建软链接ln-s<pathtothefile/foldertobelinked><thepathofthelinktobecreated>ln是链接命令,-s指定此......
  • cmake使用方法
    CMake是一个跨平台的构建系统生成器,广泛用于C++项目。它允许开发者编写平台无关的构建脚本(称为`CMakeLists.txt`),然后在不同的平台上生成对应的构建文件(如Makefile、VisualStudio项目文件等)。以下是使用CMake的基本步骤和一些常见的用法。 ###安装CMake首先,你需......
  • windows下基于cmake配置opencv并使用visual studio编译
     在Windows上下载并编译OpenCV,然后配置系统环境变量的步骤如下:1.下载OpenCV打开OpenCV官方下载页面。找到最新的Windows版本,点击下载,例如:opencv-4.x.x-vc14_vc15.exe,这将是一个自解压文件。下载完成后,双击opencv-4.x.x-vc14_vc15.exe文件,选择一个目录将其解压,......
  • 简单的cmake使用
    使用CMakeLists.txt生成可执行文件编写一个最简单的CMakeLists以生成可执行文件,仅需要以下三步指明最小支持的cmake版本cmake_minimum_required指明项目的代号或者说名称project使用add_executable来生成可执行文件其中add_executable参数为可执行文件名称,后面跟着源文......
  • cmake使用笔记
    cmake_cxx_flags常用值在CMake中,CMAKE_CXX_FLAGS是一个用于指定C++编译器选项的变量。你可以将不同的编译选项添加到这个变量中,以影响编译过程的行为。以下是一些常用的CMAKE_CXX_FLAGS值及其说明:1.优化选项1.-O0:禁用优化(默认选项)。2.-O1:启用一级优化。3.-O2:启用二......