web-dev-qa-db-fra.com

'wchar.h' fichier non trouvé

Je connais cette question: macOS 'wchar.h' Fichier non trouvé Mais cela ne m'a pas aidé. J'ai essayé de réinstaller xcode, de réinstaller les outils de ligne de commande, de redémarrer le système. Le fichier wchar.h est en place, mais le compilateur ne parvient pas à le trouver. Que pourrais-je essayer d'autre? Peut-être que c'est lié à la racine système Un moyen de résoudre ce problème?

macbooks-MacBook-Pro:Rack euphorbium$ Sudo make
c++ -Iinclude -Idep/include -Idep/lib/libzip/include -DVERSION=dev -MMD -O3 -march=core2 -ffast-math -g -Wall -DARCH_MAC -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -mmacosx-version-min=10.7 -DAPPLE -stdlib=libc++ -std=c++11 -stdlib=libc++ -c -o build/src/app.cpp.o src/app.cpp
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk' [-Wmissing-sysroot]
In file included from src/app.cpp:1:
In file included from include/app.hpp:2:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/vector:265:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/iosfwd:90:
/Library/Developer/CommandLineTools/usr/include/c++/v1/wchar.h:119:15: fatal error: 
      'wchar.h' file not found
#include_next <wchar.h>
              ^~~~~~~~~
1 error generated.
make: *** [build/src/app.cpp.o] Error 1

Étant donné que wchar.h existe à la fois dans l'application xcode et dans le /Library/Developer/CommandLineTools, je pense qu'il le recherche dans un dossier complètement indépendant. 

5
Euphorbium

J'ai le même problème. J'ai pu résoudre ce problème en utilisant un lien symbolique. Voici ce que j'ai fait: 

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
Sudo ln -s MacOSX.sdk MacOSX10.07.sdk  

Puis entrez votre mot de passe root. 

NB: vous devez adapter la dernière ligne avec le sdk requis. 

7
alain

J'ai eu le même problème après la mise à niveau vers macOS High Sierra. Un projet en cours de compilation avant de ne plus travailler avec cette erreur. Dans mon cas, les fichiers de projet avaient été générés par l'application CMake. La solution consistait à exécuter CMake, 'Delete Cache' et 'Configure' à nouveau le projet. Cela a corrigé la référence de répertoire sysroot dans les fichiers make pour pointer vers le nouveau SDK et l'erreur a été résolue.

11
Kamyar

Cela était dû à une racine incorrecte (définie pour une version antérieure de Mac OS) définie dans les makefiles.

2
Euphorbium

Pour ceux qui ont des problèmes avec MacOSX Mojave, ceci répondre le résout. En bref:

  • Accédez au terminal et exécutez open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg. Ceci affichera l'invite d'installation des outils Xcode. 
  • Ensuite, allez au terminal et lancez Sudo xcode-select -s /Library/Developer/CommandLineTools
1
ssh