C++——gcc、clang和cmake以及make

文章目录

  • 1. CMake和make
    • 1.1 生成内容区别
    • 1.2 CMakeLists.txt和Makefile内容比较
  • 2. clang, gcc和make
    • 2.1 基本概念
    • 2.2 改进历史(gcc,make,cmake,Ninja)

1. CMake和make

1.1 生成内容区别

C++——gcc、clang和cmake以及make_第1张图片

环境 CMake生成 最终生成
Windows XXX.sln Visual Studio(MSBuild)处理.sln生成.exe可执行二进制文件
linux/macOS MakeFile Make处理MakeFile生成可执行二进制文件
  • 如果在Windows上编译过OpenCV或者ITK这类型的库,那么CMake-GUI配置结束后会出现[Open Project],会在Visual Studio中打开xxx.sln的解决方案。(默认Visual Studio是用MSBuild构建.sln文件的)
    • 更详细的过程可以看看:Windows下使用CMake进阶中一键型编译的部分。
  • linux或者MacOS的话,CMake会生成Makefile,然后用make构建项目。

Cmake和make就是linux或者macOS下构建过程中所使用的两个阶段的不同工具。
Cmake用处更广泛,跨平台。
make仅限于linux或者macOS这类型的平台,不过Windows上也有类似于make的工具,叫nmake。

你可能感兴趣的:(opencv,#,学习Opencv,C++,c++,开发语言)