VScode中添加头文件和源文件(C/C++)的方法

目录
  • 一.在相同文件夹下
  • 二.在不同文件夹下
  • 总结

一.在相同文件夹下

在正常情况下,若同一文件夹下若头文件、源文件、和主要代码在同一文件夹下,则可以正常运行程序。

如图(此为Visual Studio 示例):

编译结果(无报错):

但在VScode中,同样的使用方式会产生报错。

如下:

main.c:

#include <stdio.h>
#include "myheadfile.h"

int main()
{
    myprint("hello");
    return 0;
}

myheadfile.h:

#ifndef _MYHEADFILE_H_
#define _MYHEADFILE_H_

void myprint(char *);

#endif

myheadfile.c:

#include <stdio.h>
#include "myheadfile.h"

void myprint(char *s)
{
    printf("%s",s);
    return 0;
}

报错如下:

E:/1.Documents/VC_Code/text/main.c:6: undefined reference to `myprint'
collect2.exe: error: ld returned 1 exit status

错误提示为未定义函数,由于函数定义在myheadflod.c中,所以我试着将主要代码更改为:

#include <stdio.h>
#include "myheadfile.h"
#include "myheadfile.c" //新增一条引用源文件

int main()
{
    myprint("hello");
    return 0;
}

此时编译通过且无报错

=========================================================================

二.在不同文件夹下

 但是如果三个文件分别在不同文件夹呢?

试验运行后报错:

此时需要配置如下文件:

1.ctrl+shift+p ==> 输入task选择任务配置

2.在以下位置插入内容:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 生成活动文件",
            "command": "E:\\2.VSCode\\mingw64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-I","E:/1.Documents/VC_Code/text/inc",  //在此插入:"-I","头文件路径",
                "-I","E:/1.Documents/VC_Code/text/scr",  //在此插入:"-I","源文件路径",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 生成活动文件",
            "command": "E:\\2.VSCode\\mingw64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "编译器: E:\\2.VSCode\\mingw64\\bin\\gcc.exe"
        }
    ],
    "version": "2.0.0"
}

其中 -I(大写i)表示你的头文件路径, -L 表示库文件路径,-l(小写L) 代表库文件

3.打开 c_cpp_properties.json(没有的话自行百度找一下怎么打开):

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${default}",
                "${workspaceFolder}/**",
                "E:/1.Documents/VC_Code/PAT/inc",  //在此插入这两行
                "E:/1.Documents/VC_Code/PAT/src"   //在此插入这两行
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "E:/2.VSCode/mingw64/bin/g++.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++17",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

在此编译,通过且没有报错:

总结

到此这篇关于VScode中添加头文件和源文件(C/C++)的文章就介绍到这了,更多相关VScode添加头文件和源文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • VSCode添加头文件(C/C++)的实现示例

    使用VSCode编译C/C++时,会存在找不到头文件的情况这时候需要设置两个地方: 1.c_cpp_properites.json 2.task.json 以下是我修改的对应的文件 { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "${workspaceRoot}", &

  • VS Code C/C++环境配置教程(无法打开源文件“xxxxxx.h” 或者 检测到 #include 错误,请更新includePath) (POSIX API)

    一.问题描述与分析 编辑C/C++程序,我推荐使用C/C++,VS Code相对于别的编译器来说有很多的优势.但是如果第一次使用的话,会觉得其不好用.因为如果不配置好的话,操作会比较麻烦. 注意:我这里是在windows下编写Linux程序. 例如在使用VS Code编辑C/C++程序在没有配置好的情况下,会出现如下图情况, 出现这种情况的原因是 在VS Code没有找到头文件.或者是VS Code没有配置好. 为了很好的解释上述的问题,请先了解下Cygwin.MinGW.POSIX等,并了解下

  • VSCode配置C/C++并添加非工作区头文件的方法

    下文均在Windows环境下: 配置C/C++ 按照教程安装MinGW,并配置gcc和g++,配置方法有两种: 1 GUI配置 在MinGW Installation Manager中选取对应的Package,然后Installation->Apply Changes,如果失败则多试几次. 2 控制台配置 配置系统环境变量: 1.xxx/MinGW/bin; 即安装MinGW目录下的bin文件夹 然后在cmd中输入: 1.mingw-get install gcc g++ mingw32-mak

  • VSCode无法打开源文件及无法打开链接库文件的解决方法

    目录 一.无法打开源文件 二.无法打开文件“XXX.lib” 一.无法打开源文件 依次点击“项目——配置属性——C/C++——常规”,在“附加包含目录”中加入.h文件所在的文件夹路径 二.无法打开文件“XXX.lib” 1.依次点击“项目——配置属性——链接器——常规”,在“附加库目录”中加入.lib所在的文件夹的路径 2.方法①:在“链接器”中找到“输入”,在“附加依赖项”中加入需要加入的xxx.lib;(要用;和其他链接库分隔开) 方法②:也可以用代码的方式链接进来 #pragma comm

  • VScode编译C++ 头文件显示not found的问题

    一直用codeblocks,想试试vscode,结果这个问题给我弄懵逼了.一开始以为是iostream这个头文件not found,后来发现第一个头文件都会这样显示,放到后面就不会了,然而,光这一个显示not found(虽然并不影响编译),就能逼死强迫症的啊~~~ 言归正传,这个问题解决方法是: 文件--首选项--设置--搜索"clang.diagnostic.enable",然后把勾勾去掉就好了.这是插件C/C++ Clang Command Adapter的一个选项~~ 如果一堆

  • VScode中添加头文件和源文件(C/C++)的方法

    目录 一.在相同文件夹下 二.在不同文件夹下 总结 一.在相同文件夹下 在正常情况下,若同一文件夹下若头文件.源文件.和主要代码在同一文件夹下,则可以正常运行程序. 如图(此为Visual Studio 示例): 编译结果(无报错): 但在VScode中,同样的使用方式会产生报错. 如下: main.c: #include <stdio.h> #include "myheadfile.h" int main() { myprint("hello"); r

  • 在VSCode中添加Python解释器并安装Python库的方法

    目录 如何在VSCode中添加Python解释器并安装Python库 一. 安装VScode编辑器 二. 安装Python解释器 三. 在VScode中添加Python解释器 四. 创建项目并在VScode中打开: 五.在VScode中安装Python库 如何在VSCode中添加Python解释器并安装Python库 一. 安装VScode编辑器 双击“VSCodeUserSetup-x64-1.74.2.exe”安装包:选择“我同意此协议”后点击下一步: 选择默认路径并点击下一步: 选择下一步

  • C++中头文件和源文件详细介绍

    C++中的头文件和源文件详解 一.C++编译模式 通常,在一个C++程序中,只包含两类文件--.cpp文件和.h文件.其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码:而.h文件则被称作C++头文件,里面放的也是C++的源代码. C+ +语言支持"分别编译"(separate compilation).也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里..cpp文件里的东西都是相对独立的,在编 译(compile)时不需要与其他文件互通,只需要

  • 浅谈VS中添加头文件时显示无法找到文件的问题

    目录或库文件名中包含汉字或空格的话,请将其用半角双引号括住. 项目.属性.C/C++.附加包含目录:填写附加头文件所在目录 分号间隔多项 项目.属性.链接器.附加库目录:填写附加依赖库所在目录 分号间隔多项 项目.属性.链接器(点前面的+展开).输入.附加依赖项:填写附加依赖库的名字.lib 空格间隔多项 这样在我们添加现有项后,经常出现的找不到源文件等等问题就解决了 以上这篇浅谈VS中添加头文件时显示无法找到文件的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们

  • VScode中C++头文件问题的终极解决方法详析

    目录 引言 局部配置全局配置傻傻分不清楚 一些有帮助的信息 总结 引言 之前在配置VScode环境的时候,按照网上的文章配置,总是找不到头文件,搜索解决方案,都是千篇一律,没有说到重点.在此详细解释一下. 局部配置全局配置傻傻分不清楚 网上很多文章都在讲一个配置文件c_cpp_properties.json,但是有些人不知道什么原因是找不到这个配置文件的.在扩展面板中,点击C++的设置进入的页面其实是通用设置页面,大概长这样: 这里只能看到"在settings.json中编辑"的选项,

  • 详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持

    本文介绍了详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持,分享给大家,具体如下: 一个小遗憾 能来看这篇文章的想必不用我来介绍vue是什么了.先让我们膜拜大神!vue项目的创建者尤大写了个sublime下语法高亮的插件,有人问他how about webstorm support?他是这么回答的.默哀一分钟. 添加高亮和语法支持 这个我是通过插件来实现的.网上目前有两个插件: 插件1:https://github.com/henjue/vue-for-idea 插件2:htt

  • 如何在VScode 中编译多个Go文件

    在使用VScode编译多个go文件多次遇到过一个问题:无法找到对应的函数.具体提示在好像是:在GOPATH和GOROOT路径中都没有找到该package或者该函数.但是实际上,这个函数所在的go文件就在我的工作空间. 这里简单记录下来. 举个很简单的例子:src目录下有个main.go文件, 引用了当前目录下myTools文件夹中的Add函数: 其中 main.go的实现如下: package main import ( "fmt" "myTools" ) func

  • 详解在VScode中添加代码块(含C++指令生成代码)

    有神马用? 能够填充预设的代码 也就是当你输入一些语句时,能够自动补全一堆代码 如图: 这就可以补全一些你的模板之类的了例如当我输入MST,我希望得到一大块最小生成树的模板.简直是竞赛党必备啊hhh 步骤如何? 首先你要有VScode 在哪创建 看图 C++是世界上最好的语言,所以我选择C++ 其他语言一个道理 接着不出意外你会看到这个页面 怎么创建 具体原理就是在行头行尾加上一些符号,中间的逃逸字符和引号转义 下面给出代码,自行创建 注意*.in文件应该和下面的代码放在同一目录之下 根据需求改

  • Java 在Excel中添加分离型饼图、环形图的方法

    一.概述 Excel中可支持多种不同类型的图表,本文介绍如何绘制分离型饼图和环形图.其中,分离型饼图的绘制可分为整体分离型(即设置饼图分离程度)和局部分离(即设置点爆炸型值)两种情况.下面将以Java程序代码介绍如何在Excel中实现以上图形. 二.程序环境 Spire.Xls.jar Jdk 1.8.0(版本>=1.6.0即可) IDEA 注:Jar使用的是Free Spire.XLS for Java(免费版)中的Spire.Xls.jar.编辑代码前,导入jar到Java程序,两种方法可导

  • 使用Maven打包时包含资源文件和源码到jar的方法

    目录 Maven打包时包含资源文件和源码到jar 在<build>中添加以下内容 意义如下 maven打包时包含源码的问题 Maven打包时包含资源文件和源码到jar 在使用Maven打包时,我们发现最终打包之后jar中只有已经编译完成的代码class,资源文件都没了,如果有资源文件需要打包进jar的话,直接打包jar无法正常工作. 其实,在pom.xml中配置一下<build>节点即可实现把资源打包进来的操作. 在<build>中添加以下内容 <resource

随机推荐