Home > Software engineering >  Setup stdc .h in mac(VScode) without Xcode
Setup stdc .h in mac(VScode) without Xcode

Time:09-15

Trying to run c on vscode in mac, but stdc .h library not found

fatal error: 'bits/stdc  .h' file not found

CodePudding user response:

stdc .h setup on mac (without xcode)

Assuming that you've installed the homebrew and C/C compiler extension. Then follow the steps. As the bits/stdc is a GNU GCC extension, where OSX uses the clang compiler.

  • brew install gcc

  • gcc --version

  • go to the /Library/Developer/CommandLineTools/usr/include directory (go to finder, type command shift g, then paste the directory name)

  • create a folder named bits inside this directory and then copy the stdc .h file from this github link (https://github.com/gcc-mirror/gcc/blob/master/libstdc++-v3/include/precompiled/stdc++.h).

  • create a file naming bits/stdc .h inside the bits folder and paste the code copied from the github link into bits/stdc .h file, then save it.

  • then initially after restarting vscode, some user get a error message as some library is deprecated in stdc .h. for dismissing that error, you should add the gcc library's path to c_cpp_properties.json file's includePath.

  • ("/usr/local/Cellar/gcc/12.2.0/include/c /12", "/usr/local/Cellar/gcc/12.2.0/include/c /12/x86_64-apple-darwin21")

You can get this path by hovering on your #include file on code too. add these two path to your includePath section inside of C_cpp_properties.json file. make sure your compilerPath is "/usr/bin/clang"

I am giving the c_cpp_properties.json initial file here for your understanding.

"configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/local/Cellar/gcc/12.2.0/include/c  /12",
                "/usr/local/Cellar/gcc/12.2.0/include/c  /12/x86_64-apple-darwin21"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c17",
            "cppStandard": "c  17",
            "intelliSenseMode": "macos-clang-x64"
        }
    ],
  • Related