VS Code C/C++環(huán)境配置教程(無法打開源文件“xxxxxx.h”或者檢測到 #include 錯誤,請更新includePath)(POSIX API)
一、問題描述與分析
編輯C/C++程序,我推薦使用C/C++,VS Code相對于別的編譯器來說有很多的優(yōu)勢。但是如果第一次使用的話,會覺得其不好用。因為如果不配置好的話,操作會比較麻煩。
注意:我這里是在windows下編寫Linux程序。
例如在使用VS Code編輯C/C++程序在沒有配置好的情況下,會出現(xiàn)如下圖情況,


出現(xiàn)這種情況的原因是 在VS Code沒有找到頭文件?;蛘呤荲S Code沒有配置好。
為了很好的解釋上述的問題,請先了解下Cygwin、MinGW、POSIX等,并了解下Cygwin和MinGW之間的區(qū)別。
MinGw與Cygwin的區(qū)別中提到如下圖,

如果在系統(tǒng)中安裝好MinGW,并將VS Code配置好,則報錯中將不會出現(xiàn) “無法打開源文件 “stdio.h””,這是因為安裝好的MinGW中是含有該頭文件的。但是對于某些POSIX API,MinGW中是沒有的。因此,為了滿足我的開發(fā)需求,我選擇使用Cygwin,
注意:若你與我的開發(fā)需求不一樣,接下來的Cygwin對你就是沒有必要的。但后面的VS Code 配置是相應(yīng)差不多的。
二、Cygwin下載與安裝
該處可參考博客 https://blog.csdn.net/u010356768/article/details/90756742
1、下載Cygwim
Cygwin下載官網(wǎng):http://www.cygwin.com/

2、下載完成后,運行安裝 流程截圖









點擊 ALL ,會出現(xiàn)很多包,我們主要是為了做C/C++的開發(fā),因此,只需要選擇 “Devel”中的binutils、 gcc 、mingw 、gdb、make






點擊 下一步

等待下載安裝完成


執(zhí)行 下列命令查看安裝狀態(tài)。
cygcheck -c cygwin
gcc --version
g++ --version

三、配置VS Code
打開VS Code ,文件 => 首選項 => 設(shè)置 => 擴展 => C/C++ => include Path(點擊在.json中編輯)


上圖中,中括號中填寫的就是 已經(jīng)安裝好的 Cygwin中頭文件的路徑。
如何獲得路徑?
在cygwin中執(zhí)行 " gcc -v -x c -E - "

獲得的路徑是相對于cygwin根目錄,因此,需要轉(zhuǎn)成windows下的路徑。
如何轉(zhuǎn)?
找到 cygwin的安裝目錄,該目錄下會有usr文件,該處usr就是上圖中的usr。

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

注意:該處的要點就是,讓windows下的VS Code能夠找到頭文件,然后這些頭文件都在cygwin的安裝目錄下。(若添加后,還是沒有找到頭文件,可在cygwin安裝目錄下直接搜索頭文件,然后將其路徑添加進來)
添加后效果如下,



添加成功后,可通過右鍵到定義查看頭文件定義

總結(jié)
到此這篇關(guān)于VS Code C/C++環(huán)境配置教程(無法打開源文件“xxxxxx.h” 或者 檢測到 #include 錯誤。請更新includePath) (POSIX API)的文章就介紹到這了,更多相關(guān)VS Code C/C++環(huán)境配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于C++內(nèi)存分配、函數(shù)調(diào)用與返回值的深入分析
本篇文章是對C++中的內(nèi)存分配、函數(shù)調(diào)用與返回值進行了詳細的分析介紹,需要的朋友參考下2013-05-05
C++ Leetcode實現(xiàn)從英文中重建數(shù)字
本文主要介紹了當(dāng)給你一個字符串s,其中包含字母順序打亂的用英文單詞表示的若干數(shù)字(0-9)時,如何通過Leetcode按升序返回原始的數(shù)字。感興趣的童鞋可以來看看2021-11-11
詳解C語言如何計算結(jié)構(gòu)體大小(結(jié)構(gòu)體的內(nèi)存對齊)
結(jié)構(gòu)體的內(nèi)存對齊是有關(guān)結(jié)構(gòu)體內(nèi)容的很重要一個知識點,主要考察方式是計算結(jié)構(gòu)體的字節(jié)大小,所以本文就給大家詳細介紹一下C語言如何計算結(jié)構(gòu)體大小,文中的代碼示例介紹的非常詳細,需要的朋友可以參考下2023-07-07

