聊聊cmake和生成器配合使用

文章目录

cmake 是非常流行的作为C/C++项目管理工具,它不依赖与任何平台。现在基本上开源的项目 比如 openSSL、openGL 、openCV。
都是使用cmake来管理其源码的。
把开源项目的源码从github或其他代码托管平台上下载来,通过后续的配置及生成操作后 可以在Windows、MacOS、Linux上使用。
cmake管理的项目中,其中会有一个至多个CMakeLists.txt文件。项目的根目录中有一个CMakeLists.txt文件。其他的模块里又有自己独有的CMakeLists.txt文件。整个项目的组织关系都在这些CMakeLists.txt文件里。
想要使用源码进行编译和安装需要 根据 特定特定生成器先生成 指定平台上的 项目文件/工程文件(windows) 和 makefile文件(Linux或MacOS)

在Windows下

在Windows上最常用的IDE就是visual studio。我这里使用的是visual studio 2019

cmake 配合 visual studio 16 2019 生成器 生成 visual studio 支持的 解决方案项目,即生成 含.sln的项目文件。

这是可以把生成后的项目文件导入visual studio 2019中,进行 编译 和安装操作。

cmake 配合 ninja生成器 生成 visual studio 支持的 .ninja项目,即生成 含.ninja的项目文件(默认情况下在visual studio上.ninja的项目文件也是最终调用MSVC的cl.exe进行编译)。

这是可以把生成后的项目文件导入visual studio 2019中,进行 编译 和安装操作。

D:\software\visual_studio_2019\IDE\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe

D:\software\visual_studio_2019\IDE\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe

D:\software\visual_studio_2019\IDE\MSBuild\Current\Bin\amd64\MSBuild.exe

D:\software\visual_studio_2019\IDE\MSBuild\Current\Bin\MSBuild.exe

D:\software\visual_studio_2019\IDE\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe

visual studio 2019 上 目前已经集成了cmake,ninja 等可执行文件。

MSBuild的功能类似make 是对 .sln的项目工程进行编译时调用的命令。

visual studio 默认都是使用的microsoftware 的MSVC编译套件。具体使用到的是cl.exe。

mingw 是为在Windows上使用gnu套件的专门定制的。其具体使用到的是gcc.exe 和 g++.exe

在Linux下

cmake 配合 make生成器 生成makefile文件,后续通过make工具 进行 编译(make)和安装(make install)。

Linux下使用gnu套件。其具体使用到的是gcc.exe 和 g++.exe。

相关推荐
我在人间贩卖青春8 分钟前
C++之this指针
c++·this
云姜.10 分钟前
java多态
java·开发语言·c++
CoderCodingNo19 分钟前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法
陳103026 分钟前
C++:红黑树
开发语言·c++
一切尽在,你来31 分钟前
C++ 零基础教程 - 第 6 讲 常用运算符教程
开发语言·c++
weixin_499771551 小时前
C++中的组合模式
开发语言·c++·算法
近津薪荼1 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck1 小时前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl
_F_y2 小时前
C++重点知识总结
java·jvm·c++
初願致夕霞3 小时前
Linux_进程
linux·c++