您好,登錄后才能下訂單哦!
本文將為大家詳細介紹“VScode編譯C++頭文件顯示not found怎么辦”,內容步驟清晰詳細,細節處理妥當,而小編每天都會更新不同的知識點,希望這篇“VScode編譯C++頭文件顯示not found怎么辦”能夠給你意想不到的收獲,請大家跟著小編的思路慢慢深入,具體內容如下,一起去收獲新知識吧。
Visual Studio Code 是一個運行于 OS X,Windows和 Linux 之上的,針對于編寫現代 web 和云應用的跨平臺編輯器,它為開發者們提供了對多種編程語言的內置支持,并且正如 Microsoft 在Build 大會的 keynote 中所指出的,這款編輯器也會為這些語言都提供了豐富的代碼補全和導航功能。
一直用codeblocks,想試試vscode,結果這個問題給我弄懵逼了。一開始以為是iostream這個頭文件not found,后來發現第一個頭文件都會這樣顯示,放到后面就不會了,然而,光這一個顯示not found(雖然并不影響編譯),就能逼死強迫癥的啊~~~
言歸正傳,這個問題解決方法是:
文件——首選項——設置——搜索“clang.diagnostic.enable",然后把勾勾去掉就好了。這是插件C/C++ Clang Command Adapter的一個選項~~
如果一堆英文看著難受的話,安裝插件Chinese (Simplified) Language Pack for Visual Studio Code就可以調成中文了。
如果還有波浪線,那就只好配置includePath了,最簡單的方式是讓vscode幫你完成:
首先在c_cpp_properties.json的"browse"的"path"里面添加頭文件在的目錄下,我直接用我的編譯器的安裝目錄了:
然后按照VScode給的教程里說的做~~~
知識點補充:
VS Code編譯file not found問題
最近在使用visual studio code的時候,編寫c++代碼,往往需要引入第三方的頭文件,如下所示:
#include "rapidjson/document.h" #include "rapidjson/writer.h" #include "rapidjson/stringbuffer.h" // 省略余下代碼
但是如果這些頭文件的路徑不在默認的搜索路徑中(/usr/include或者/usr/local/include),那么在編譯的時候,就會報錯,提示“file not found”,按照網上搜索的很多方法,都是通過修改c_cpp_properties.json,在includePath中加入相應的路徑即可(shift+command+p,選擇C/C++: Edit Configurations即可打開)。但是實際測試發現,即使在includePath中添加了路徑,也會報同樣的錯誤。個人懷疑這個地方的includePath,實際并沒有添加到task的path中。
經過測試發現,如果頭文件指定絕對路徑或者想對路徑是ok的,如下所示:
// 相對路徑 #include "../../local/rapidjson/document.h" // 絕對路徑 #include "/home/user/cpp/local/rapidjson/document.h"
但是一旦頭文件地址有所變動,就需要改動代碼,非常麻煩。因此,我們需要修改配置文件來實現顯示增加頭文件的搜索路徑。
我們可以通過修改task.json來實現(shift+command+p,Tasks: Configure Task),這里以我自己的測試為例:
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "ws-test", "type": "shell", "command": "g++", "args": [ "-Wall","-std=c++11", "-g", "main.cpp", "DocumentTest.cpp","DocumentTest.h", "CppTest.cpp","CppTest.h", "-I", "/Users/ws/project/c/local" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": [ "$gcc" ], "isShellCommand": true, } ] }
這里,就是通過增加"-I", "/Users/ws/project/c/local",來顯示指定頭文件的搜索路徑,其實該配置文件就相當于自動執行了如下命令:
g++ -Wall -std=c++11 -g main.cpp DocumentTest.cpp DocumentTest.h CppTest.cpp CppTest.h -I /Users/ws/project/c/local
在使用g++命令編譯時,-I表示“Add directory to include search path”,即指定搜索路徑。這樣,再使用該task配置進行編譯的時候,就不會再出現“file not found”的問題了,搞定。
如果你能讀到這里,小編希望你對“VScode編譯C++頭文件顯示not found怎么辦”這一關鍵問題有了從實踐層面最深刻的體會,具體使用情況還需要大家自己動手實踐使用過才能領會,如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。