🎬 HoRain 云小助手个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

CMake 安装与配置指南

一、CMake 简介

二、CMake 安装步骤

1. 下载与安装

2. 验证安装

三、CMake 配置与使用

1. 创建基本 CMake 项目

2. 配置 CMake 预设文件(CMakePresets.json)

3. CMake 与 vcpkg 集成

四、CMake 在不同平台的配置

1. Windows 平台

2. Linux 平台

3. Android 开发

五、CMake 常用命令详解

六、CMake 在 VSCode 中的配置

七、常见问题解决

1. CMake 找不到编译器

2. 依赖库找不到

3. CMake 版本不兼容

总结


CMake 安装与配置指南

一、CMake 简介

CMake 是一个跨平台的构建系统生成器,它使用名为 CMakeLists.txt 的文件来描述构建过程。CMake 本身并不编译代码,而是根据 CMakeLists.txt 文件生成适合特定平台的本地化构建脚本(如 Makefile、Visual Studio 项目文件等)。

CMake 的工作流程

  1. 解析 CMakeLists.txt 文件
  2. 生成本地构建脚本(Makefile、.vcxproj 等)
  3. 通过构建工具(make、msbuild 等)执行编译

二、CMake 安装步骤

1. 下载与安装

  • 下载地址https://cmake.org/download/
  • 推荐版本:选择最新稳定版(如 3.25.x)
  • 安装步骤
    • 下载 .msi 安装文件(Windows 平台)
    • 运行安装程序
    • 务必勾选 "Add CMake to system PATH" 选项
    • 选择默认安装路径(如 C:\Program Files\CMake

2. 验证安装

打开命令提示符(CMD)或 PowerShell,输入:

cmake -version

如果安装成功,将显示 CMake 版本号。

三、CMake 配置与使用

1. 创建基本 CMake 项目

  1. 创建 CMakeLists.txt 文件,内容如下:
cmake_minimum_required(VERSION 3.10)
project(HelloWorld)
add_executable(HelloWorld main.cpp)
  1. 创建源文件 main.cpp
#include <iostream>
int main() {
    std::cout << "Hello, CMake!" << std::endl;
    return 0;
}
  1. 配置并构建项目:
mkdir build
cd build
cmake ..
cmake --build .

2. 配置 CMake 预设文件(CMakePresets.json)

在项目根目录创建 CMakePresets.json 文件:

{
  "version": 2,
  "configurePresets": [
    {
      "name": "default",
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/build",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Debug"
      }
    }
  ]
}

3. CMake 与 vcpkg 集成

vcpkg 是 C++ 依赖管理工具,可与 CMake 无缝集成:

  1. 创建 vcpkg.json 文件:
{
  "dependencies": [
    "fmt"
  ]
}
  1. 添加依赖:
vcpkg add port fmt
  1. 创建 CMakePresets.json 配置工具链:
{
  "version": 2,
  "configurePresets": [
    {
      "name": "vcpkg",
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/build",
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
      }
    }
  ]
}
  1. CMakeLists.txt 中使用依赖:
find_package(fmt CONFIG REQUIRED)
add_executable(HelloWorld main.cpp)
target_link_libraries(HelloWorld PRIVATE fmt::fmt)

四、CMake 在不同平台的配置

1. Windows 平台

  • 安装 CMake 时确保勾选 "Add CMake to PATH"
  • 推荐使用 VSCode + CMake Tools 插件进行开发
  • 安装 MinGW 或 MSVC 作为编译器

2. Linux 平台

  • 可通过包管理器安装:sudo apt-get install cmake
  • 或从源码编译安装:
wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
tar -zxvf cmake-3.5.2.tar.gz
cd cmake-3.5.2
./bootstrap --prefix=/usr
make
sudo make install

3. Android 开发

CMake 与 NDK 集成用于 Android 原生开发:

  1. 在 Android Studio 中安装 CMake 和 NDK

    • Tools > SDK Manager > SDK Tools
    • 选中 "CMake" 和 "NDK (Side by side)"
  2. build.gradle 中配置 CMake:

android {
    ...
    externalNativeBuild {
        cmake {
            path "src/main/cpp/CMakeLists.txt"
            version "3.10.2"
        }
    }
}

五、CMake 常用命令详解

命令 说明
cmake_minimum_required(VERSION 3.10) 指定 CMake 最低版本要求
project(HelloWorld) 设置项目名称
add_executable(HelloWorld main.cpp) 添加可执行目标
add_library(libname STATIC/SHARED src.cpp) 添加库目标
find_package(fmt CONFIG REQUIRED) 查找并配置外部库
target_link_libraries(HelloWorld PRIVATE fmt::fmt) 链接库到目标
include_directories(include_dirs) 添加头文件搜索路径

六、CMake 在 VSCode 中的配置

  1. 安装 VSCode 扩展

    • C/C++ (Microsoft)
    • CMake Tools
    • CMake Tools Helper
  2. 配置 VSCode

    • 打开命令面板(Ctrl+Shift+P)
    • 选择 "CMake: Configure"
    • 选择配置预设(如 "vcpkg")
    • 选择 "CMake: Build"
  3. CMake 设置(在 settings.json 中):

    {
        "cmake.buildDirectory": "${workspaceFolder}/build",
        "cmake.generator": "Ninja"
    }
    

七、常见问题解决

1. CMake 找不到编译器

  • 确保已安装编译器(如 MinGW、MSVC)
  • 在系统环境变量中添加编译器路径

2. 依赖库找不到

  • 确保已正确安装依赖库
  • 检查 CMAKE_TOOLCHAIN_FILE 是否正确配置

3. CMake 版本不兼容

  • 确保 cmake_minimum_required 指定的版本与系统安装的版本兼容
  • 升级 CMake 或调整项目要求的最低版本

总结

CMake 是跨平台 C/C++ 项目构建的必备工具,通过正确安装和配置,可以大大简化项目的构建和依赖管理。无论是简单的控制台程序还是复杂的 Android 原生应用,CMake 都能提供强大的构建支持。

掌握 CMake 的基本配置和常用命令,将使您的 C/C++ 开发工作更加高效和可靠。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐