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

所属分类: 软件编程 / C 语言 阅读数: 49
收藏 0 赞 0 分享

下文均在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-make  

添加非工作区头文件

•Ctrl+Shift+P 。选择c_cpp_properties.json,includePath和browse中都需要添加需要的头文件路径;

{  
  "configurations": [  
    {  
      "name": "MinGW",  
      "intelliSenseMode": "gcc-x64",  
      "compilerPath": "C:/MinGW/bin/gcc.exe",  
      "includePath": [  
        "${workspaceFolder}",  
        "C:/test"  
      ],  
      "defines": [],  
      "browse": {  
        "path": [  
          "${workspaceFolder}",  
          "C:/test"  
        ],  
        "limitSymbolsToIncludedHeaders": true,  
        "databaseFilename": ""  
      },  
      "cStandard": "c11",  
      "cppStandard": "c++17"  
    }  
  ],  
  "version": 4  
}  

假设C:/test是非工作区头文件路径。
•tasks.json中添加链接库,"-I"

{  
  "version": "2.0.0",  
  "command": "g++",  
  "args": ["-g","${file}","-I","C:/test","-o","${fileBasenameNoExtension}.exe"],  // 编译命令参数  
  "problemMatcher": {  
    "owner": "cpp",  
    "fileLocation": ["relative", "${workspaceRoot}"],  
    "pattern": {  
      "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",  
      "file": 1,  
      "line": 2,  
      "column": 3,  
      "severity": 4,  
      "message": 5  
    }  
  }  
}  

gcc带不同参数的含义:"-g"产生调试信息,"-c"编译中间目标文件,"-I"指定链接库,"-o"生成指定命名的可执行文件。

知识点补充:vscode添加头文件路径

win+p 。选择c_cpp_properties.json

 {
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/src/linux-headers-4.15.0-36-generic/include/" //此处添加头文件路径,
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
更多精彩内容其他人还在看

C语言非递归后序遍历二叉树

这篇文章主要为大家详细介绍了C语言非递归后序遍历二叉树,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C语言单链表实现多项式相加

这篇文章主要为大家详细介绍了C语言单链表实现多项式相加,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C语言二叉排序(搜索)树实例

这篇文章主要为大家详细介绍了C语言二叉排序树实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

NDK 数据结构之队列与栈等的实现

这篇文章主要介绍了NDK 数据结构之队列与栈等的实现的相关资料,希望通过本文大家能理解掌握这部分内容,需要的朋友可以参考下
收藏 0 赞 0 分享

C/C++经典实例之模拟计算器示例代码

最近在看到的一个需求,本以为比较简单,但花了不少时间,所以下面这篇文章主要给大家介绍了关于C/C++经典实例之模拟计算器的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

C语言中的getchar和putchar的使用方法

这篇文章主要介绍了C语言中的getchar和putchar的使用方法的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享

C++实现洗牌发牌排序功能的示例代码

本篇文章主要介绍了C++实现洗牌发牌排序功能的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

C++计算图任意两点间的所有路径

这篇文章主要为大家详细介绍了C++求图任意两点间的所有路径 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

zlib库压缩和解压字符串STL string的实例详解

这篇文章主要介绍了zlib库压缩和解压字符串STL string的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
收藏 0 赞 0 分享

C/C++ 获取Windows系统的位数32位或64位的实现代码

这篇文章主要介绍了C/C++ 获取Windows系统的位数32位或64位的实现代码的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多