vscode无法读取头文件问题,改变exe生成路径问题,头文件,源文件分离问题

news2024/11/22 6:10:39

首先声明一点,我这里演示的基础是源文件都位于项目根目录下的,然后exe文件和头文件可以放在项目的其他任何文件夹中的。

目录

1. vscode自定义头文件包含问题

1.1 首先是我们的c_cpp_peoperties.json文件

 1.2 接下来是我们的settings.json文件

2.改变exe生成路径问题

2.1 首先是我们的tasks.json文件

 2.2 其次是我们的settings.json文件

3. 头文件,源文件分离问题


1. vscode自定义头文件包含问题

vscode如何包含自己写的头文件呢,这里我们主要修改两个json文件

1.1 首先是我们的c_cpp_peoperties.json文件

为了方便,我创建了一个文件夹include,专门用于存放我的项目头文件,这个完全看你喜好了,你想放哪都行。我们找到这个json文件中的includePath数组,把你的头文件路径添加进去就行了。(补充一下.\\是当前项目的路径,也就是.vscode文件夹的上一级c_files,加个*说明把全部的头文件都加进去了),这里我用相对路径也是为了不想出现中文,当然你想用绝对路径也是可以的。

 1.2 接下来是我们的settings.json文件

 打开文件在这个code-runner.executorMap下面进行修改,以c语言为例,在这个gcc的后面加上你的头文件路径,注意路径前面要加-I(大写的i),其次注意路径前后的\"。

 至此我们的头文件问题就解决了,如果还有问题,肯定是其他地方还没配置好,比如exe路径之类的。下面也会介绍这些json文件是怎么生成exe文件路径的。

2.改变exe生成路径问题

对于exe文件的生成,我们知道无论是c还是c++,编译链接完之后都会生成一个exe文件,如果不改路径的话,它就默认跟我们的源程序cpp文件放到一个目录下了,如果你有强迫症,那么下面我们就来改变一下这个exe文件的生成路径,这里也是只需要改变两个json文件即可。

2.1 首先是我们的tasks.json文件

可以看到,我这里是创建了一个exe文件夹,然后打开tasks.json文件,找到args数组,把里面那个-o后面的路径(你应该能认出来吧(●'◡'●))也是改成你自己想要的exe文件夹路径。(这里补充一下,${fileDirname}就是我们的项目文件夹路径,${fileBasenameNoExtension}就是我们的执行文件,但它不带文件扩展名,所以要手动加一个exe)

 2.2 其次是我们的settings.json文件

依然是在code-runner.executorMap下面进行修改,在这个c这修改,当然如果你是c++那你就选cpp那行。

 在我们刚刚包含头文件路径的后面的这个-o后面加上我们的exe文件路径,路径跟刚刚tasks.json文件中的是一样的(一点小区别了,我这里最后用的是fileNameWithoutExt,刚刚tasks.json文件中用的是fileBasenameNoextension),注意&&前后两段是一样的路径。json文件不是最后一行,最后要记得加逗号。

 为了大家方便,这里也给出了我自己的一个settings.json文件(C语言的)。其实这方面设置,c语言和c++的区别就在于后缀名和gcc、g++了,比着画就行了。

{
    "workbench.colorTheme": "Visual Studio Dark",//设置背景皮肤的
    "terminal.integrated.defaultProfile.windows": "Command Prompt",
    "code-runner.runInTerminal": true,
    "files.encoding": "gbk",
    "grunt.autoDetect": "on",
    "code-runner.preserveFocus": true,//设置让光标在代码运行后集中到终端的
    "settingsSync.ignoredExtensions": [
    ],
    "code-runner.executorMap": {
        "c": "cd $dir && gcc -I \"D:\\IDE_code_practice\\vs_code\\C_files\\include\" $fileName -o .\\exe\\$fileNameWithoutExt.exe && .\\exe\\$fileNameWithoutExt.exe",
    "code-runner.clearPreviousOutput": true,
    "files.autoSave": "afterDelay", //设置自动保存代码的
    "code-runner.executorMapByFileExtension": {
    

        ".vb": "cd $dir && vbc /nologo $fileName && $dir$fileNameWithoutExt",
        ".vbs": "cscript //Nologo",
        ".scala": "scala",
        ".jl": "julia",
        ".cr": "crystal",
        ".ml": "ocaml",
        ".exs": "elixir",
        ".hx": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
        ".rkt": "racket",
        ".scm": "csi -script",
        ".ahk": "autohotkey",
        ".au3": "autoit3",
        ".kt": "cd $dir && kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && java -jar $fileNameWithoutExt.jar",
        ".kts": "kotlinc -script",
        ".dart": "dart",
        ".pas": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
        ".pp": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
        ".d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
        ".hs": "runhaskell",
        ".nim": "nim compile --verbosity:0 --hints:off --run",
        ".csproj": "dotnet run --project",
        ".fsproj": "dotnet run --project",
        ".lisp": "sbcl --script",
        ".kit": "kitc --run",
        ".v": "v run",
        ".vsh": "v run",
        ".sass": "sass --style expanded",
        ".cu": "cd $dir && nvcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        ".ring": "ring",
        ".sml": "cd $dir && sml $fileName"
    },
    "C_Cpp.default.cppStandard": "c++11",
    "C_Cpp.default.cStandard": "c11",
    "code-runner.ignoreSelection": true
    }
}

3. 头文件,源文件分离问题

最后给大家看一下我的项目文件目录

至此,结束~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/91765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

String(2)

字符串中的库函数,基本上只要对原来的字符串进行修改,基本上返回的都是一个新的对象 我们先来看一个内存布局图: String s1new String("hello"); String s2new String("world"); String s3s1; 下列程序的输出结果是:输出good和gbc p…

Go开发环境搭建

文章目录Go环境搭建开发工具Visual Studio Code Go 扩展插件时间2022-12-15 Go环境搭建 下载安装Go 国外的官网: https://golang.org/dl/国内的官网: https://golang.google.cn/dl/ 检查版本go version 必须在安装目录执行命令:C:\Program Files\Go>go version…

软考信息安全工程师备考笔记

上午 信息安全的5个基本要素为:机密性、完整性、可用性、可控性、可审查性。 法律 《中华人民共和国网络安全法》已由中华人民共和国第十二届全国人民代表大会常务委员会第二十四叫次会议于2016年11月7日通过,自2017年6月1日起施行。 第八条明确规定了…

ADI Blackfin DSP处理器-BF533的开发详解53:CMOS摄像头采集图像+LCD显示(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了摄像头拍摄一张 640480 大小,YUV422 格式的图片,然后将图片转成 RGB565 格式,裁剪为 480…

Latex 中插入 Matlab 代码

这篇文章将介绍如何在 Latex 排版过程中添加 Matlab 代码 功能效果 主要有如下排版功能: 语法高亮自动添加边框自动添加行号 先上图,大家感受一下效果: 而实现这些只需要一行代码加一个包! 插入代码块 \usepackage{listings…

JavaScript刷LeetCode拿offer-二叉树层序遍历篇

前言 博主最近在刷leetcode,做到二叉树套题的时候发现很多题的解题思路都是基于二叉树的层序遍历来完成的,因此写下这篇文章,记录一下二叉树层序遍历这件"神器"在实战的运用。 [leetcode] 102.二叉树的层序遍历 二叉树的层序遍历…

[附源码]Python计算机毕业设计高校宿舍管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

Vue渲染器(五):快速diff算法

渲染器(五):快速diff算法 这章开始讨论第三种用于比较新旧vnode的方式:快速diff算法。跟它的名字一样,它很快。Vue3采用的就是这种算法,Vue2采用的是上一章中的双端diff算法。 接下来就来着重了解它的实现…

宝塔部署前后端分离项目(Vue+SpringBoot)

目录 后端部分 配置Redis 前端部分 后端部分 1 先修改自己的speingboot配置文件,我的是yml文件 保证宝塔上建的数据库和自己代码里,就是配置文件中所建的数据库的名字是一致的密码也要保持一致,Redis也一样,如果有的话 2 记录…

关注电动汽车能效水平 提高续航能力

电动汽车(EV)近些年发展迅猛,已被汽车业内普遍认为是未来汽车发展的新方向,但是现如今电动汽车仍然存在一些短板,导致其还无法替代传统燃油车。对此,先想到的是电动车的续航问题。其实解决电动车续航问题主…

python 插值处理一维数据 interpolate

scipy库: 原码: https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html kind可选“linear”、“nearest”、“nearest-up”、“zero”、“slinear”、“quadratic”、“cubic”、“previous”或“next”之一。 “zero…

JSP sshOA办公系统myeclipse开发oracle数据库MVC模式java编程计算机网页设计

一、源码特点 JSP sshOA办公系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开 发。开发环境为TOMCAT7.0,Myecl…

音视频编解码流程与如何使用 FFMPEG 命令进行音视频处理

一、前言 FFMPEG 是特别强大的专门用于处理音视频的开源库。你既可以使用它的 API 对音视频进行处理,也可以使用它提供的工具,如 ffmpeg, ffplay, ffprobe,来编辑你的音视频文件。 本文将简要介绍一下 FFMPEG 库的基本目录结构及其功能&#…

OpenWrt 安装 WireGuard

下载 img镜像 https://downloads.openwrt.org/releases/22.03.2/targets/x86/generic/openwrt-22.03.2-x86-generic-generic-squashfs-combined-efi.img.gz解压 转化格式我的是Linux # 解压 gzip -d openwrt-22.03.2-x86-generic-generic-squashfs-combined-efi.img.gz #vmwa…

如何将数学曲线变为机器人轨迹-花式show爱心代码-turtlesim篇

第一步:找到曲线数学描述的网址。 阅读后了解曲线所对应的xy函数。 不要选太复杂的,毕竟先复现出来最重要的。 第二步,这个函数转为C代码。 //Lovegoal_x5.54.0*pow(sin(curve_t/200.0),3);goal_y5.5((13.0*cos(curve_t/200.0)-5.0*cos(curv…

网络工程师备考6章

6.1 OSI参考模型概述 计算机的整套理论是图灵提出来的,自此创办图灵奖(计算机类最高奖项)。科学远远比技术更重要。 OSI七层模型就是科学,就是理论,所以非常重要! 注:ISO是一个机构,OSI是一个协议:分别七层 6.2 OSI参考模型 注:在传输层中,什么是端到端,例如A,…

jsp+ssm计算机毕业设计ssm校园贫困补助系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

使用vite构建vue3项目与官网构建区别

使用vite构建vue3项目 一、vue3官网文档的 https://www.javascriptc.com/vue3js/guide/installation.html#命令行工具-cli npm init vite-app cd npm installnpm run dev 二、vite官网文档的 https://cn.vitejs.dev/guide/#trying-vite-online 1 对应路径cmd 输入 npm create…

Grad-CAM简介-网络 热力图分析

论文名称:Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization 论文下载地址:https://arxiv.org/abs/1610.02391 推荐代码(Pytorch):https://github.com/jacobgil/pytorch-grad-cam bi…

流媒体开源服务 MediaSoup 初识

目录 前言 正文 一、简单介绍 二、关键特色 1. 超强 SFU 功能 2. Node.js 模块 3. 客户端 SDK 三、架构组成 1. 关键实例 2. 重要模块 四、发展现状 前言 最近收看了一期微软(中国)关于云原生、大数据、AI 领域的开源服务创新的线上圆桌论坛&…