码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C语言初学者工具选择:vscode + MSYS2 + cmake 搭建 C环境


    文章目录

      • 前言
      • 1. MSYS2 安装
        • 1. 下载安装包
        • 2. 安装
        • 3. pacman 换清华大学源
        • 4. 安装 mingw-w64 toolchain 和 cmake + ninja
        • 5. 将 toolchain 加入系统环境变量
      • 2. 设置 vscode
        • 1. 必要的插件
        • 2. 一个简单的 vscode cmake 项目
      • 最后
        • C
        • 数据结构与算法
        • CMake

    前言

    网上关于使用 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. 下载安装包

    • 官网安装地址(可能上不去)
      MSYS2官网

    • 清华大学开源软件镜像站 | MSYS2(推荐)
      清华大学开源软件镜像站

    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 --version 和 cmake --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,中文版由国内大佬翻译完成,原下载地址可能打不开,我将它传到了百度网盘上

    祝大家学有所成!🤗🤗🤗

  • 相关阅读:
    神经网络模型画图工具,神经网络模型图怎么画
    基于Y向连贯性算法的多边形扫描线生成(适用于凸多边形和凹多边形)【原理+java实现】
    java String类常用方法
    【农业生产模拟】WOFOST模型与PCSE模型实践
    云计算发展
    《Java并发编程的艺术》读书笔记 - 第九章 - Java中的线程池
    java计算机毕业设计家乡旅游文化推广网站MyBatis+系统+LW文档+源码+调试部署
    三维地图(3D地图)离线地图开发发布时间:2020-03-03 版权:
    同余关系学习
    【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式
  • 原文地址:https://blog.csdn.net/weixin_73158591/article/details/133901339
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号