• C语言初学者工具选择:vscode + MSYS2 + cmake 搭建 C环境


    前言

    网上关于使用 vscode 配置 C 环境的博文非常多,但大多数都是使用 vscode 的 code runner 插件来运行,创建 tasks.json 和 lunch.json 来执行调试任务,比如:vscode配置C语言环境VScode搭建C/C++开发环境。这种方式相当麻烦,各种路径啊环境变量啊要修改,而且这种方式只适合单个 C 文件。我初学 C 的时候,使用的也是这样的方式,好一番折腾,最近我看到了一篇使用 MSYS2 + cmake 搭建 vscode C 环境的好文,地址在这里:给萌新的C/C++环境搭建攻略(VSCode和MSYS2) 。文章非常详细,但是关于 vscode 使用 cmake tools 插件的部分没有具体描述,我在此做个补充。

    1. MSYS2 安装

    1. 下载安装包

    2. 安装

    安装过程很简单,一路 next 即可
    MSYS2安装

    3. pacman 换清华大学源

    pacman 是MSYS2 的包管理器,可以通过它安装各类工具和第三方库
    打开 MSYS2 命令行(msys2.exe,位于MSTYS2 目录的根目录下),默认的源在国内访问可能很慢,建议换成清华大学的源,输入sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist* 再按回车即可。

    4. 安装 mingw-w64 toolchain 和 cmake + ninja

    • mingw-w64 toolchain
      打开 MSYS2 命令行,输入pacman -Syu 同步更新所有工具,然后输入pacman -S mingw-w64-ucrt-x86_64-toolchain 安装 mingw-w64 工具链。中间出现询问之类的一路回车就好,等待一段时间后应该就安装完毕了。
      ucrt64
      安装
    • cmake + ninja
      将指令改为pacman -S mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja,其余同上

    5. 将 toolchain 加入系统环境变量

    添加环境变量的目的是使得 toolchain 能在计算机的各个位置被直接访问到。

    顺序:设置->系统->系统信息->高级系统设置
    高级
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    完成后在 windows 终端中(win + X,选择windows 终端)输入gcc --versioncmake --version,出现下图内容说明设置成功
    在这里插入图片描述

    2. 设置 vscode

    1. 必要的插件

    • C/C++
    • cmake
    • cmake tools
      需要设置 cmake tools 插件,打开vscode 设置,输入@ext:ms-vscode.cmake-tools,下滑至下图位置,加入 cmake.exe 的路径
      在这里插入图片描述

    2. 一个简单的 vscode cmake 项目

    1. ctrl + shfit + P 打开命令面板,输入 cmake: quick start 并选择
      在这里插入图片描述
    2. 提示输入项目名称,随便写一个就好了
      在这里插入图片描述选择项目模板,C 项目就选第二个
      在这里插入图片描述选择项目类型,运行单个 C 文件的项目就选第二个
      在这里插入图片描述
    3. 完成上面的步骤后会生成一个项目模板
      在这里插入图片描述
    • CMakeList.txt

      # 运行项目所需的 cmake 的最低版本,3.0.0 过低引发了报错,建议改为3.22.0
      cmake_minimum_required(VERSION 3.0.0)	
      # 设置项目名,版本号,所用语言
      project(cmake_beginning VERSION 0.1.0 LANGUAGES C)
      
      # 测试,这两行可以删去
      # include(CTest)
      # enable_testing()
      
      # 由源文件生成可执行文件
      add_executable(cmake_beginning main.c)
      
      # 打包,这三行可以删去
      # set(CPACK_PROJECT_NAME ${PROJECT_NAME})
      # set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
      # include(CPack)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16

      修改后的版本如下:

      cmake_minimum_required(VERSION 3.22.0)
      
      project(cmake_beginning VERSION 0.1.0 LANGUAGES C)
      
      add_executable(cmake_beginning main.c)
      
      • 1
      • 2
      • 3
      • 4
      • 5
    1. 编译,运行,调试
    • 编译,点击最下方的 build(准确说是构建整个项目)
      在这里插入图片描述
      在这里插入图片描述

    • 运行
      在这里插入图片描述
      在这里插入图片描述

    • 调试
      在这里插入图片描述
      在这里插入图片描述

    1. 想要添加其他源文件的话,直接在 CMakeList.txt 中添加即可,格式:add_executable(可执行文件名 源文件名),注意不要和已有的文件同名,如:
      在这里插入图片描述

    最后

    这里给出一些 C 相关的书籍

    C

    • 入门:《C 语言程序设计:现代方法》
    • 进阶
      • 《C 和指针》
      • 《C 专家编程》
      • 《C 陷阱与缺陷》
      • 《深入理解 C 指针》

    数据结构与算法

    • 《算法精解:C 语言描述》,这本书给出了完整的代码,非常推荐!下载地址
    • 《数据结构与算法:C 语言描述》

    CMake

    • 《Cmake Cookbook》,这本书非常适合入门 cmake,中文版由国内大佬翻译完成,原下载地址可能打不开,我将它传到了百度网盘上

    祝大家学有所成!🤗🤗🤗

  • 相关阅读:
    SRT源码编译
    Docker快速入门指南
    牛客网反转链表
    WINCC C脚本编程约定
    [MySQL]单行函数
    将轨迹显示到卫星地图上
    【Linux】操作系统中的文件系统管理:磁盘结构、逻辑存储与文件访问机制
    Web3:价值投资的范式转移
    评估测试接口软件与网站的使用方法及优劣势比较
    2022年最新《谷粒学院开发教程》:10 - 前台支付模块
  • 原文地址:https://blog.csdn.net/weixin_73158591/article/details/133901339