VS Code C/C++環(huán)境配置教程(無(wú)法打開源文件“xxxxxx.h”或者檢測(cè)到 #include 錯(cuò)誤,請(qǐng)更新includePath)(POSIX API)
一、問(wèn)題描述與分析
編輯C/C++程序,我推薦使用C/C++,VS Code相對(duì)于別的編譯器來(lái)說(shuō)有很多的優(yōu)勢(shì)。但是如果第一次使用的話,會(huì)覺得其不好用。因?yàn)槿绻慌渲煤玫脑?,操作?huì)比較麻煩。
注意:我這里是在windows下編寫Linux程序。
例如在使用VS Code編輯C/C++程序在沒有配置好的情況下,會(huì)出現(xiàn)如下圖情況,
出現(xiàn)這種情況的原因是 在VS Code沒有找到頭文件?;蛘呤荲S Code沒有配置好。
為了很好的解釋上述的問(wèn)題,請(qǐng)先了解下Cygwin、MinGW、POSIX等,并了解下Cygwin和MinGW之間的區(qū)別。
MinGw與Cygwin的區(qū)別中提到如下圖,
如果在系統(tǒng)中安裝好MinGW,并將VS Code配置好,則報(bào)錯(cuò)中將不會(huì)出現(xiàn) “無(wú)法打開源文件 “stdio.h””,這是因?yàn)榘惭b好的MinGW中是含有該頭文件的。但是對(duì)于某些POSIX API,MinGW中是沒有的。因此,為了滿足我的開發(fā)需求,我選擇使用Cygwin,
注意:若你與我的開發(fā)需求不一樣,接下來(lái)的Cygwin對(duì)你就是沒有必要的。但后面的VS Code 配置是相應(yīng)差不多的。
二、Cygwin下載與安裝
該處可參考博客 https://blog.csdn.net/u010356768/article/details/90756742
1、下載Cygwim
Cygwin下載官網(wǎng):http://www.cygwin.com/
2、下載完成后,運(yùn)行安裝 流程截圖
點(diǎn)擊 ALL ,會(huì)出現(xiàn)很多包,我們主要是為了做C/C++的開發(fā),因此,只需要選擇 “Devel”中的binutils、 gcc 、mingw 、gdb、make
點(diǎn)擊 下一步
等待下載安裝完成
執(zhí)行 下列命令查看安裝狀態(tài)。
cygcheck -c cygwin
gcc --version
g++ --version
三、配置VS Code
打開VS Code ,文件 => 首選項(xiàng) => 設(shè)置 => 擴(kuò)展 => C/C++ => include Path(點(diǎn)擊在.json中編輯)
上圖中,中括號(hào)中填寫的就是 已經(jīng)安裝好的 Cygwin中頭文件的路徑。
如何獲得路徑?
在cygwin中執(zhí)行 " gcc -v -x c -E - "
獲得的路徑是相對(duì)于cygwin根目錄,因此,需要轉(zhuǎn)成windows下的路徑。
如何轉(zhuǎn)?
找到 cygwin的安裝目錄,該目錄下會(huì)有usr文件,該處usr就是上圖中的usr。
/usr/include 等于 C:\cygwin64\usr\include,將其路徑加入到 VS Code中,
注意:該處的要點(diǎn)就是,讓windows下的VS Code能夠找到頭文件,然后這些頭文件都在cygwin的安裝目錄下。(若添加后,還是沒有找到頭文件,可在cygwin安裝目錄下直接搜索頭文件,然后將其路徑添加進(jìn)來(lái))
添加后效果如下,
添加成功后,可通過(guò)右鍵到定義查看頭文件定義
總結(jié)
到此這篇關(guān)于VS Code C/C++環(huán)境配置教程(無(wú)法打開源文件“xxxxxx.h” 或者 檢測(cè)到 #include 錯(cuò)誤。請(qǐng)更新includePath) (POSIX API)的文章就介紹到這了,更多相關(guān)VS Code C/C++環(huán)境配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)通訊錄系統(tǒng)課程設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)通訊錄系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07c++函數(shù)指針和回調(diào)函數(shù)示例
這篇文章主要介紹了c++函數(shù)指針和回調(diào)函數(shù)示例,需要的朋友可以參考下2014-05-05GCC 編譯使用動(dòng)態(tài)鏈接庫(kù)和靜態(tài)鏈接庫(kù)的方法
根據(jù)鏈接時(shí)期的不同,庫(kù)又有靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)之分,有別于靜態(tài)庫(kù),動(dòng)態(tài)庫(kù)的鏈接是在程序執(zhí)行的時(shí)候被鏈接的2013-03-03C語(yǔ)言新建臨時(shí)文件和臨時(shí)文件名的方法
這篇文章主要介紹了C語(yǔ)言新建臨時(shí)文件和臨時(shí)文件名的方法,分別是mkstemp()函數(shù)和mktemp()函數(shù)的使用,需要的朋友可以參考下2015-08-08解決c++?error:crosses?initialization?of?問(wèn)題
最近在寫代碼的時(shí)候,碰到了?crosses?initialization?of?...?的問(wèn)題,只因我在?switch?的某個(gè)?case?分支下定義了一個(gè)變量,于是乎便將這個(gè)問(wèn)題整理一下,需要的朋友可以參考下2023-03-03淺談C語(yǔ)言中的sizeof()和strlen()的區(qū)別
本文主要介紹了C語(yǔ)言中的sizeof()和strlen()的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05