ToB企服应用市场:ToB评测及商务社交产业平台

标题: Windows系统中 CMake 快速图解入门 ( 解决你的开发环境 ) [打印本页]

作者: 石小疯    时间: 2024-7-31 22:19
标题: Windows系统中 CMake 快速图解入门 ( 解决你的开发环境 )
目录
介绍
下载
下载迟钝或进不去网站解决方法
安装
直接下一步
勾选协议
添加环境+快捷方式
建议改路径
点击安装
安装中
安装乐成
检测安装
命令提示符检测
输入 cmake --verison
简单入门
构建新项目
选择CMake项目
建议更改路径
创建乐成
 项目结构分析
CMakeLists.txt
CMakePresets.json
Demo.cpp
Demo.h
怎样使用这些文件
在命令行中构建项目
使用 Visual Studio 构建项目
注意事项
项目分析
CMakeLists.txt
CMakePresets.json
CMakePresets.json 文件的作用
简化构建设置:
跨平台构建:
IDE 集成:
脚本化构建:
CMakePresets.json 文件的结构
解释示例
使用 CMakePresets.json 文件
Demo.cpp
Demo.h
项目运行
完结散花

介绍



下载

CMake 官网- https://cmake.org/


两者都可以

都会跳到 https://github.com/Kitware/CMake


下载迟钝或进不去网站解决方法

考虑部分同学的网络有点慢,
大概须要VPN,公棕号 wmcode 回复 【 vpn 】即可


安装

直接下一步


勾选协议


添加环境+快捷方式


建议改路径


点击安装


安装中


安装乐成




检测安装

命令提示符检测

Ctrl + R 输入 cmd



输入 cmake --verison

假如有版本则安装乐成


简单入门

我们直接创建简单的项目
构建新项目


选择CMake项目


建议更改路径


创建乐成

可以看到它帮我们已经创建好了相关的文件


 项目结构分析

  1. Demo/
  2. ├── CMakeLists.txt         # 主项目的 CMake 配置文件
  3. ├── CMakePresets.json      # 用于存储 CMake 的构建预设(presets)
  4. ├── Demo.cpp               # 项目 源文件
  5. ├── Demo.h                 # 项目 头文件
复制代码
让我们来简单分析一下每个文件的作用:
怎样使用这些文件

当你准备好构建项目时,可以使用 CMake 从 CMakeLists.txt 文件天生构建文件。这些构建文件可以被构建工具(如 MSBuild 或 Ninja)用来编译和链接源代码。
在命令行中构建项目

假如你想要手动构建项目,可以通过命令行来实验 CMake 和构建命令。假设你想在一个名为 build 的子目录中构建 Debug 版本,可以按照以下步骤操纵:
使用 Visual Studio 构建项目

假如你使用的是 Visual Studio,你可以直接打开项目解决方案文件(.sln 文件),然后选择要构建的设置(Debug 或 Release),并使用 Visual Studio 的构建菜单或快捷键来构建项目。
注意事项



项目分析

CMakeLists.txt


  1. # CMakeList.txt: Demo 的 CMake 项目,在此处包括源代码并定义
  2. # 项目特定的逻辑。
  3. #
  4. cmake_minimum_required (VERSION 3.8)
  5. # 如果支持,请为 MSVC 编译器启用热重载。
  6. if (POLICY CMP0141)
  7.   cmake_policy(SET CMP0141 NEW)
  8.   set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<IF:$<AND:$<C_COMPILER_ID:MSVC>,$<CXX_COMPILER_ID:MSVC>>,$<$<CONFIG:Debug,RelWithDebInfo>:EditAndContinue>,$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>>")
  9. endif()
  10. project ("Demo")
  11. # 将源代码添加到此项目的可执行文件。
  12. add_executable (Demo "Demo.cpp" "Demo.h")
  13. if (CMAKE_VERSION VERSION_GREATER 3.12)
  14.   set_property(TARGET Demo PROPERTY CXX_STANDARD 20)
  15. endif()
  16. # TODO: 如有需要,请添加测试并安装目标。
复制代码
CMakePresets.json

CMakePresets.json 文件的作用

CMakePresets.json 文件的结构

CMakePresets.json 文件通常包罗以下部分:


  1. {
  2.     "version": 3,
  3.     "configurePresets": [
  4.         {
  5.             "name": "windows-base",
  6.             "hidden": true,
  7.             "generator": "Ninja",
  8.             "binaryDir": "${sourceDir}/out/build/${presetName}",
  9.             "installDir": "${sourceDir}/out/install/${presetName}",
  10.             "cacheVariables": {
  11.                 "CMAKE_C_COMPILER": "cl.exe",
  12.                 "CMAKE_CXX_COMPILER": "cl.exe"
  13.             },
  14.             "condition": {
  15.                 "type": "equals",
  16.                 "lhs": "${hostSystemName}",
  17.                 "rhs": "Windows"
  18.             }
  19.         },
  20.         {
  21.             "name": "x64-debug",
  22.             "displayName": "x64 Debug",
  23.             "inherits": "windows-base",
  24.             "architecture": {
  25.                 "value": "x64",
  26.                 "strategy": "external"
  27.             },
  28.             "cacheVariables": {
  29.                 "CMAKE_BUILD_TYPE": "Debug"
  30.             }
  31.         },
  32.         {
  33.             "name": "x64-release",
  34.             "displayName": "x64 Release",
  35.             "inherits": "x64-debug",
  36.             "cacheVariables": {
  37.                 "CMAKE_BUILD_TYPE": "Release"
  38.             }
  39.         },
  40.         {
  41.             "name": "x86-debug",
  42.             "displayName": "x86 Debug",
  43.             "inherits": "windows-base",
  44.             "architecture": {
  45.                 "value": "x86",
  46.                 "strategy": "external"
  47.             },
  48.             "cacheVariables": {
  49.                 "CMAKE_BUILD_TYPE": "Debug"
  50.             }
  51.         },
  52.         {
  53.             "name": "x86-release",
  54.             "displayName": "x86 Release",
  55.             "inherits": "x86-debug",
  56.             "cacheVariables": {
  57.                 "CMAKE_BUILD_TYPE": "Release"
  58.             }
  59.         }
  60.     ]
  61. }
复制代码
解释示例


使用 CMakePresets.json 文件

一旦你有了 CMakePresets.json 文件,就可以通过各种工具来使用这些预设。比方,你可以使用 cmake 命令行工具来构建项目:
  1. cmake --preset debug
  2. cmake --build debug
复制代码

Demo.cpp


  1. // Demo.cpp: 定义应用程序的入口点。
  2. //
  3. #include "Demo.h"
  4. using namespace std;
  5. int main()
  6. {
  7.         cout << "Hello CMake." << endl;
  8.         return 0;
  9. }
复制代码
Demo.h


  1. // Demo.h: 标准系统包含文件的包含文件
  2. // 或项目特定的包含文件。
  3. #pragma once
  4. #include <iostream>
  5. // TODO: 在此处引用程序需要的其他标头。
复制代码

项目运行


完结散花

以上便是我个人学习过程中,慢慢笔记的
(到底啦)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4