Reputation: 1101
I have started to learn c
, I tried to use it with VSCode, but the #include <stdio.h>
is highlighted in green with this error message:
#include errors detected. Please update your includePath. IntelliSense features for this translation unit
(C:\Users\Jerlam\Desktop\C\training\dweight.c) will be provided by the
Tag Parser.
could not open source file "stdio.h" (no directories in search list)
I have seen some topics about this issue, but none of them helped me to fix it.
Here is my c_cpp_properties.json
file in which I have to add the path (of stdio
). In fact the documentation about it is absolutely not beginner friendly.
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.10240.0/ucrt"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
I have added manually this path:
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.10240.0/ucrt"
because it contains the stdio.h
header.
What shall I do? Thanks.
Upvotes: 8
Views: 50063
Reputation: 3
I use C in Ubuntu windows WSL. Here is my config for VSCcode to work:
{
"configurations": [
{
"name": "WSL",
"includePath": [
"${workspaceFolder}/**",
"/usr/lib/gcc/x86_64-linux-gnu/11/include",
"/usr/local/include",
"/usr/include/x86_64-linux-gnu",
"/usr/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "gcc-x64",
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "gnu++14",
"browse": {
"path": [
"${workspaceFolder}/**",
"/usr/lib/gcc/x86_64-linux-gnu/11/include",
"/usr/local/include",
"/usr/include/x86_64-linux-gnu",
"/usr/include"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
Upvotes: 0
Reputation: 1101
I found the solution thanks to this video on how to Set Up C++ Development With Visual Studio Code on Windows 10 (VS Code).
I launched MinGW Installation Manager and installed all the package from the Basic Setup.
I added the path of the gcc compiler to my system´s environment variables: C:\MinGW\bin
, in which is the gcc.exe
.
I opened the c_cpp_properties.json file and added different paths for the folders I want to include. So now my c_cpp_properties.json
file looks like this:
{
"configurations": [{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt",
"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include",
"C:\\MinGW\\lib\\gcc\\mingw32\\6.3.0",
"C:\\MinGW\\lib\\gcc\\mingw32\\6.3.0\\include\\c++",
"C:\\MinGW\\lib\\gcc\\mingw32\\6.3.0\\include"
],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"intelliSenseMode": "clang-x64"
}],
"version": 4
}
Upvotes: 9
Reputation: 41
(Updated the answer)
Anyone else coming here, note VS Code keeps caches. If even after making changes to your c_cpp_properties.json
the error doesn't go away. Try deleting the cache for your workspace (aka directory).
For,
Windows: C:\Users\<YOUR_USER_NAME>\AppData\Roaming\Code\CachedData\*
Linux:
Upvotes: 3
Reputation: 2277
Worked for me, running VSCode on Windows 10.
{
"configurations": [
{
"name": "MinGW",
"includePath": [
"${workspaceFolder}"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}
Upvotes: 2
Reputation: 73
It may happen if you have visual studio and code together on your pc. Just try to uninstall all C and C++ extensions from apps list, visual studio and visual studio code on your pc then restart and again install the vs code. I wasted my whole day behind it but no JSON file did work for me. you only need to put the MinGW-64/bin path in JSON file on vs code where ever you have installed the MinGW-64 on your pc. if you do not have MinGW on your pc I am putting a video link
https://www.youtube.com/watch?v=0HD0pqVtsmw
Upvotes: 0