热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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

这篇文章主要介绍了VSCodeCC++环境配置教程(无法打开源文件“xxxxxx.h”或者检测到#include错误。请更新includePath)(POSIXAPI),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、问题描述与分析

编辑C/C++程序,我推荐使用C/C++,VS Code相对于别的编译器来说有很多的优势。但是如果第一次使用的话,会觉得其不好用。因为如果不配置好的话,操作会比较麻烦。

注意:我这里是在windows下编写Linux程序。

例如在使用VS Code编辑C/C++程序在没有配置好的情况下,会出现如下图情况,

在这里插入图片描述
在这里插入图片描述

出现这种情况的原因是 在VS Code没有找到头文件。或者是VS Code没有配置好。
为了很好的解释上述的问题,请先了解下Cygwin、MinGW、POSIX等,并了解下Cygwin和MinGW之间的区别。
MinGw与Cygwin的区别中提到如下图,

在这里插入图片描述

如果在系统中安装好MinGW,并将VS Code配置好,则报错中将不会出现 “无法打开源文件 “stdio.h””,这是因为安装好的MinGW中是含有该头文件的。但是对于某些POSIX API,MinGW中是没有的。因此,为了满足我的开发需求,我选择使用Cygwin,

注意若你与我的开发需求不一样,接下来的Cygwin对你就是没有必要的。但后面的VS Code 配置是相应差不多的。

二、Cygwin下载与安装

该处可参考博客 https://blog.csdn.net/u010356768/article/details/90756742
1、下载Cygwim
Cygwin下载官网:http://www.cygwin.com/

在这里插入图片描述

2、下载完成后,运行安装 流程截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击 ALL ,会出现很多包,我们主要是为了做C/C++的开发,因此,只需要选择 “Devel”中的binutils、 gcc 、mingw 、gdb、make

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击 下一步

在这里插入图片描述

等待下载安装完成

在这里插入图片描述
在这里插入图片描述

执行 下列命令查看安装状态。
cygcheck -c cygwin
gcc --version
g++ --version

在这里插入图片描述

三、配置VS Code

打开VS Code ,文件 => 首选项 => 设置 => 扩展 => C/C++ => include Path(点击在.json中编辑)

在这里插入图片描述
在这里插入图片描述

上图中,中括号中填写的就是 已经安装好的 Cygwin中头文件的路径。
如何获得路径?
在cygwin中执行 " gcc -v -x c -E - "

在这里插入图片描述

获得的路径是相对于cygwin根目录,因此,需要转成windows下的路径。
如何转?
找到 cygwin的安装目录,该目录下会有usr文件,该处usr就是上图中的usr。

在这里插入图片描述

/usr/include 等于 C:\cygwin64\usr\include,将其路径加入到 VS Code中,

在这里插入图片描述

注意该处的要点就是,让windows下的VS Code能够找到头文件,然后这些头文件都在cygwin的安装目录下。(若添加后,还是没有找到头文件,可在cygwin安装目录下直接搜索头文件,然后将其路径添加进来)

添加后效果如下,

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加成功后,可通过右键到定义查看头文件定义

在这里插入图片描述

总结

到此这篇关于VS Code C/C++环境配置教程(无法打开源文件“xxxxxx.h” 或者 检测到 #include 错误。请更新includePath) (POSIX API)的文章就介绍到这了,更多相关VS Code C/C++环境配置内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • 现在的新手程序猿,动不动就是框架,就连外面培训的也是框架,我就问一句,没了框架是不是就啥也不会了 ... [详细]
  • Kubernetes 实践指南:初次体验
    本文介绍了如何通过官方提供的简易示例,快速上手 Kubernetes (K8S),并深入理解其核心概念和操作流程。 ... [详细]
  • iOS 小组件开发指南
    本文详细介绍了iOS小部件(Widget)的开发流程,从环境搭建、证书配置到业务逻辑实现,提供了一系列实用的技术指导与代码示例。 ... [详细]
  • Kubernetes Services详解
    本文深入探讨了Kubernetes中的服务(Services)概念,解释了如何通过Services实现Pods之间的稳定通信,以及如何管理没有选择器的服务。 ... [详细]
  • 本文详细介绍了如何在VSCode环境中配置Prettier工具以支持TypeScript项目,同时结合ESLint实现代码风格的一致性和自动化格式化。 ... [详细]
  • 本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • Java中提取字符串的最后一部分
    本文介绍了如何使用Java中的substring()和split()方法来提取字符串的最后一部分,特别是在处理包含特殊字符的路径时的方法与技巧。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 2019年独角兽企业招聘Python工程师标准课程概览
    本文详细介绍了2019年独角兽企业在招聘Python工程师时的标准课程内容,包括Shell脚本中的逻辑判断、文件属性判断、if语句的特殊用法及case语句的应用。 ... [详细]
author-avatar
鞋-丢-了_151
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有