macOS 'wchar.h' File Not Found

XcodeMacosClang

Xcode Problem Overview


Under OS X 10.9.5 using XCode 6.0.1 I am running into the following issue when I try to run make from the terminal:

fatal error: 'wchar.h' file not found

This issue was not happening prior to a recent upgrade to Mavericks.

Xcode Solutions


Solution 1 - Xcode

First ensure that the latest XCode is installed. Next, we need to install/fix/update Command Line Tools. To do so, run

xcode-select --install

Previously, XCode expected it's active developer directory to be located at

/Applications/Xcode.app/Contents/Developer/

but the latest Command Line Tools is installed to

/Library/Developer/CommandLineTools/

so we need to switch where XCode is looking. To do so, run

sudo xcode-select --switch /Library/Developer/CommandLineTools/

And that should be it. These steps solved the issue for myself and two coworkers.

Solution 2 - Xcode

  • My error was similar to yours which said string.h not found, I solved it by running this command:
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

I think that the problem is that for macOS Mojave users, the headers are no longer installed under /usr/include by default.

Solution 3 - Xcode

Adding on ssell's post and peter70's comment, I also still had issues after installing xcode command line tools again, and switching the xcode active developer directory. I was using CMake, and so deleted the debug/release folders which had existing Makefiles referencing out-of-date locations on Mojave. So for future problem resolving, after running the commands from ssell's post:

xcode-select --install

sudo xcode-select --switch /Library/Developer/CommandLineTools/

I believe if you've installed the command line tools by installing Xcode itself, you may also need to agree to the licence with sudo xcodebuild --license. I don't think this is necessary if you used the prior xcode-select command.

Then also delete generated build scripts. If using CMake, delete the cmake-build-debug and cmake-build-release directories (your names may vary)

Solution 4 - Xcode

Deleting all the generated files and restarted the compilation worked for me. It was suggested in this link:

https://discourse.brew.sh/t/solved-scan-build-from-llvm-7-0-seems-broken-on-macos-mojave/3151/14

Solution 5 - Xcode

Deleting all the generated files, like @Alfredo Morales Pinzón. If you use cmake, so you need to delete the work dictionary which is "cmake-build-debug" and regenerated the "cmake-build-debug".

Solution 6 - Xcode

Make sure, you update all symbols files which have references to the wchar after updating xcode. For me full cleaning build directory has worked

Solution 7 - Xcode

xcode-select --install worked for me.

additionally if you're using visual studio code and your intellisense acts weird -

  1. make a folder called .vscode in your project root.
  2. install vscode extension call C/C++ by microsoft
  3. create the c_cpp_properties.json file and paste the below contents

project_dir > .vscode > c_cpp_properties.json

{
    "configurations": [
      {
        "name": "macOS",
        "includePath": ["${workspaceFolder}/**"],
        "defines": [],
        "macFrameworkPath": ["/System/Library/Frameworks", "/Library/Frameworks"],
        "compilerPath": "/usr/bin/clang",
        "cStandard": "c11",
        "cppStandard": "c++17",
        "intelliSenseMode": "${default}"
      }
    ],
    "version": 4
}

Solution 8 - Xcode

If it happened after update Xcode you need (Apple WTF?) download and install Command Line Tools for Xcode manually from https://developer.apple.com/download/more/?=for%20Xcode

Or using terminal

xcode-select --install

Restart and maybe clean build cache (delete cmake-build-debug) before run your project.

I guess it's needed every time after update Xcode for all major program update

Solution 9 - Xcode

The issue is that the path of compiler gets changed after update or other advancement maybe xcode reinstallment. I have tried everything that was given on every site sadly none worked.

I figured out that many issues cause this .

But then what worked for me is unlinking gcc. I had also installed gcc from homebrew earlier. Just unlinking it worked for me. So if you are also one of the few who has installed gcc from homebrew then

brew unlink gcc

should be sufficient to get it off your default path, so you'll be back to Xcode's default gcc (assuming you have that installed).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionssellView Question on Stackoverflow
Solution 1 - XcodessellView Answer on Stackoverflow
Solution 2 - XcodeYupeng TangView Answer on Stackoverflow
Solution 3 - XcodeJoshView Answer on Stackoverflow
Solution 4 - XcodeAlfredo Morales PinzónView Answer on Stackoverflow
Solution 5 - Xcodeyongyu wuView Answer on Stackoverflow
Solution 6 - XcodevoltentoView Answer on Stackoverflow
Solution 7 - XcodeauxeonView Answer on Stackoverflow
Solution 8 - XcodekorytoffView Answer on Stackoverflow
Solution 9 - XcodeAyush MishraView Answer on Stackoverflow