当前位置: 首页 > news >正文

win10下vscode+cmake编译C代码操作详解

0 工具准备

1.Visual Studio Code 1.85.1
2.cmake 3.24.0

1 前言

当我们只有一个.c文件时直接使用vscode+Code Runner插件即可完成编译,如果我们的工程很复杂包含多个.c文件时建议使用cmake来生成对应的make,指导编译器完成编译,否则会提示各种错误,如下:
在这里插入图片描述
实际上这些函数都是包含在其它.c文件里的,由于vscode的Code Runner插件只支持编译1个.c文件因此提示报错。

2 工具安装

2.1 Visual Studio Code插件安装

Visual Studio Code必须要安装的插件包括CMake和CMake tools两个:
在这里插入图片描述
插件的安装方法很简单:
(1)点击扩展图标
(2)在搜索框输入需要下载的插件,点击安装即可(我这里已经安装好了)
在这里插入图片描述

2.2 cmake安装

cmake官方地址
在官网选择适合自己的版本,我这里选择的是3.24.0,安装好之后记得将cmake.exe文件所在路径添加到系统环境变量。
首先打开“高级系统设置”里的环境变量,依次执行以下操作:
在系统变量里找到Path,点击编辑,然后新建一个环境变量,路径就是cmake.exe所在路径。完成后效果如下:
在这里插入图片描述

完成以后,打开命令行,输入“cmake --version”,如果打印如下内容则表示设置成功:
在这里插入图片描述

3 vscode+cmake使用方法

3.1 新建cmake测试工程

在本地新建一个名为cmake_test的文件夹,文件夹内新建main.c、sum.c、sum.h、cmakelists.txt这4个文件。内容如下:
main.c:

#include "stdio.h"
#include "sum.h"int main(void)
{printf("Cmake test:\r\n");printf("Sum : %d\r\n", sum(1, 2));return 0;
}

sum.c:

int sum(int x, int y)
{return (x + y);
}

sum.h:

#ifndef _SUM_H
#define _SUM_Hextern int sum(int x, int y);#endif

cmakelists.txt

cmake_minimum_required (VERSION 2.8)project (demo)add_executable(main main.c sum.c)

3.2 配置CMAKE

(1)依次点击“文件”→“打开文件夹”,打开我们前面新建的cmake_test文件夹。
在这里插入图片描述
(2)点击“设置”图标,然后在搜索栏输入camke path,将我们的cmake.exe的完整路径粘贴到图中3、4位置:
在这里插入图片描述

3.3 编译代码

(1)按下快捷键“ctrl + shift + p”,输入“cmake:select a kit”:
在这里插入图片描述
(2)选择工具包,我这里选择的是VisualStudio.12.0 -x86
在这里插入图片描述
设置成功的话,输出窗口会有如下的打印信息:
在这里插入图片描述
(3)点击VScode左下角的启动图标,即可在终端窗口启动所选目标:
在这里插入图片描述
终端窗口打印信息如下:
在这里插入图片描述
输出结果和预期一致。

相关文章:

win10下vscode+cmake编译C代码操作详解

0 工具准备 1.Visual Studio Code 1.85.1 2.cmake 3.24.01 前言 当我们只有一个.c文件时直接使用vscodeCode Runner插件即可完成编译,如果我们的工程很复杂包含多个.c文件时建议使用cmake来生成对应的make,指导编译器完成编译,否则会提示各…...

网络安全红队常用的攻击方法及路径

一、信息收集 收集的内容包括目标系统的组织架构、IT资产、敏感信息泄露、供应商信息等各个方面,通过对收集的信息进行梳理,定位到安全薄弱点,从而实施下一步的攻击行为。 域名收集 1.备案查询 天眼查爱企查官方ICP备案查询 通过以上三个…...

【基于openGauss2.1.0企业版安装X-Tuner参数调优工具】

【基于openGauss2.1.0企业版安装X-Tuner参数调优工具】 一、前提条件二、安装X-Tuner 2.1.0: 一、前提条件 已安装了openGauss2.1.0企业版 二、安装X-Tuner 2.1.0: 以root用户登录到服务器 安装以下依赖: yum -y groupinstall "Development tools" yum…...

SpringBoot+Vue轻松实现考试管理系统

简介 本系统基于 Spring Boot 搭建的方便易用、高颜值的教学管理平台,提供多租户、权限管理、考试、练习、在线学习等功能。主要功能为在线考试、练习、刷题,在线学习。课程内容支持图文、视频,考试类型支持考试、练习、问卷。 源码下载 网…...

详解Keras:keras.preprocessing.image

keras.preprocessing.image Keras 库中的一个模块,用于处理和增强图像数据,它提供了一些实用的函数,如图像的加载、预处理、增强等。 常用函数 1、load_img 用于加载图像文件,并返回一个 NumPy 数组表示该图像 示例 from ker…...

来瞅瞅Java 11都有啥新特性

第1章:引言 大家好,我是小黑!今天小黑要和咱们聊聊Java 11,这个在Java发展史上占有一席之地的版本。说起Java,咱们都知道,它是一门历史悠久又持续发展的编程语言。Java不仅因其“一次编写,到处…...

Copilot在IDEA中的应用:提升编码效率的得力助手

Copilot在IDEA中的应用:提升编码效率的得力助手 前言: 欢迎来到本篇博客,今天我们将深入探讨 GitHub Copilot 在 IntelliJ IDEA 中的应用。GitHub Copilot 是一款由 GitHub 与 OpenAI 共同开发的人工智能代码生成工具,它能够根据上下文提示…...

【Python】Excel不同sheet另存为不同CSV

我有一个excel,内有不同sheet,现在批量生成不通csv文件,并以sheet名命名,或根据sheet名调整命名。 # 读取新的Excel文件 df pd.read_excel(rD:\itm\data.xlsx, sheet_nameNone)# 遍历每个sheet,将其另存为不同的CSV文…...

软件测试|深入学习 Docker Logs

简介 Docker 是一种流行的容器化技术,它能够帮助用户将应用程序及其依赖项打包成一个可移植的容器。Docker logs 是 Docker 提供的用于管理容器日志的命令,本文将深入学习 Docker logs 的使用和管理,帮助用户更好地监测和解决容器问题。 Do…...

试除法求约数算法总结

知识概览 试除法求一个数的约数的时间复杂度是。 例题展示 题目链接 活动 - AcWing 系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.acwing.com/problem/content/871/ 题解 用试除法求约数,…...

[JavaWeb玩耍日记] 数据库

mysql版本:5.7.24 使用Navicat for MySQL辅助学习(2015年版),这个在粘贴本博客的块引用内容时会有额外的不可见内容导致sql运行出问题,不过有影响的地方笔者已排除 目录 一.数据库创建 二.使用数据库与创建表 三.表内列的数据类型 四.修…...

rime中州韵小狼毫 inputShow lua Translator 输入字符透传翻译器

在 rime中州韵小狼毫 help lua Translator 中我们分享了如何使用 lua 脚本定义一个 translator,并以 五笔・拼音 为例引用了该 translator,并且达到了预期的效果。 今天,我们继续通过 lua 脚本为 rime中州韵/小狼毫 输入法打造一个 translat…...

【RockChip | RV1126】学习与开发

【RockChip | RV1126】学习与开发 文章目录 【RockChip | RV1126】学习与开发1. 资料1. 资料 您好,这是关于A191型RV1126的资料包,请您及时接收哦~链接: https://pan.baidu.com/s/1FXWVxa27Q78nI78d2QKlBQ?pwd=j7mk 提取码: j7mk 若您在开发过程中遇到技术问题,需要帮助时:…...

copilot在pycharm的应用

Copilot在PyCharm中的应用 一、引言 随着人工智能技术的飞速发展,AI在编程领域的应用也越来越广泛。Copilot,作为一款由微软开发的AI编程助手,已经引起了广大开发者的关注。它利用深度学习技术,通过分析大量开源代码&#xff0c…...

HDU 2841:Visible Trees ← 容斥原理

【题目来源】http://acm.hdu.edu.cn/showproblem.php?pid2841【题目描述】 There are many trees forming a m * n grid, the grid starts from (1,1). Farmer Sherlock is standing at (0,0) point. He wonders how many trees he can see. If two trees and Sherlock are in…...

分布式数据之复制(Replication)

1.简介 1.1简介——使用复制的目的 在分布式系统中,数据通常需要被分散在多台机器上,主要为了达到以下目的: 扩展性,数据量因读写负载巨大,一台机器无法承载,数据分散在多台机器 上可以有效地进行负载均衡…...

【多线程】

文章目录 一、线程与进程的概念:二、多线程实现三、线程锁四、线程数量的设置 一、线程与进程的概念: 简单理解 假设总共有3个孩子需要喂饭,孩子每吃一口饭需要咀嚼消化一下。 多线程方案: 雇佣1个保姆,在喂A孩子吃饭…...

基于Vue开发的一个仿京东电商购物平台系统(附源码下载)

电商购物平台项目 项目完整源码下载 基于Vue开发的一个仿京东电商购物平台系统 Build Setup # csdn下载该项目源码压缩包 解压重命名为sangpinghui_project# 进入项目目录 cd sangpinghui_project# 安装依赖 npm install# 建议不要直接使用 cnpm 安装以来,会有各…...

Nginx多ip部署多站点

目录 1.修改网卡配置信息 2.修改主要配置文件nginx.conf 1.修改网卡配置信息 1)来到网卡配置文件存放目录下 cd /etc/sysconfig/network-scripts/ 2)对 ifcfg-ens33 文件进行配置修改前先进行备份 cp ifcfg-ens33 ifcfg-ens33.default 3)先修改成最小配置,使用 d…...

Unity SVN更新提交小工具

Unity SVN更新提交小工具 前言使用说明必要前提源码参数说明 感谢 前言 Unity开发时每次都要到文件夹中操作SVN,做了一个小工具能够在Editor中直接操作。 使用说明 必要前提 前提是要安装好SVN,在文件夹右键能够看到安装的SVN 源码 using System…...

前端集成实战:使用JavaScript与Vue调用国风美学模型生成动态页面素材

前端集成实战:使用JavaScript与Vue调用国风美学模型生成动态页面素材 最近在做一个国风主题的官网项目,设计师给了一堆精美的背景图、水印和装饰元素,但每次活动页需求一来,就得重新设计,沟通成本高,交付也…...

nli-distilroberta-base实际作品:金融风控报告语义一致性检测效果可视化

nli-distilroberta-base实际作品:金融风控报告语义一致性检测效果可视化 1. 项目背景与价值 在金融风控领域,报告文档的语义一致性检测是确保业务合规性的关键环节。传统人工审核方式效率低下且容易遗漏细节,而基于自然语言理解(NLI)的技术…...

Cesium实战:手把手教你实现智慧城市中的动态流动线(附完整代码与避坑指南)

Cesium实战:打造智慧城市动态流动线的完整技术方案 在数字孪生和智慧城市可视化项目中,动态流动线是实现交通流、管网流向等动态效果的关键元素。本文将深入探讨如何基于Cesium引擎,从Shader编写到前端集成,构建高性能的动态线可视…...

揭秘Synopsys EDA中的AI黑科技:DSO.ai如何改变传统芯片设计流程

揭秘Synopsys EDA中的AI黑科技:DSO.ai如何重塑芯片设计范式 当芯片制程迈入3纳米时代,单个晶体管尺寸已接近物理极限,设计复杂度却呈指数级增长。传统EDA工具如同手持计算尺的工程师面对摩天大楼蓝图——方法论需要根本性变革。这正是DSO.ai诞…...

RWKV7-1.5B-g1a开源模型优势:无依赖离线加载+低维护成本

RWKV7-1.5B-g1a开源模型优势:无依赖离线加载低维护成本 1. 模型简介 rwkv7-1.5B-g1a 是基于新一代 RWKV-7 架构的开源文本生成模型,专为轻量级应用场景设计。这个1.5B参数的模型在多语言处理上表现出色,特别适合以下场景: 基础问…...

如何零门槛拥有专属AI数字人?Duix.Avatar全流程实践指南

如何零门槛拥有专属AI数字人?Duix.Avatar全流程实践指南 【免费下载链接】Duix-Avatar 项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar 想制作个人数字分身却被技术门槛劝退?每月花费数千元购买商业数字人服务让你望而却步&…...

handong1587.github.io:深度学习工程师的终极技术资源宝库

handong1587.github.io:深度学习工程师的终极技术资源宝库 【免费下载链接】handong1587.github.io 项目地址: https://gitcode.com/gh_mirrors/ha/handong1587.github.io 在当今人工智能和深度学习快速发展的时代,寻找高质量的技术资源变得至关…...

Claude Code子代理开发手册:如何打造专属AI编程助手(含MCP服务器对接技巧)

Claude Code子代理开发手册:如何打造专属AI编程助手(含MCP服务器对接技巧) 在当今快节奏的软件开发环境中,团队开发者越来越需要能够适应特定工作流程的智能辅助工具。Claude Code作为新一代AI编程助手平台,其子代理(…...

Vue3+Tauri实战:从零构建桌面聊天应用,仿微信核心功能解析

1. 为什么选择Vue3Tauri开发桌面应用 最近两年桌面应用开发领域出现了一个有趣的现象:传统Electron应用虽然依然流行,但开发者们开始寻找更轻量、性能更好的替代方案。这就是Tauri逐渐受到关注的原因。作为一个长期使用Electron的老手,我第一…...

签名计算效率工具:xhshow实现小红书API请求处理提速90%的技术原理揭秘

签名计算效率工具:xhshow实现小红书API请求处理提速90%的技术原理揭秘 【免费下载链接】xhshow 小红书xs纯算 小红书56版本xs 小红书个人主页 批量爬取数据 文章批量下载 小红书x-s x-t x-s-common x-b3-traceid search-id 旋转验证码参数纯算纯协议逆向 项目地址…...