web-dev-qa-db-ja.com

「wchar.h」ファイルが見つかりません

私はこの質問について知っています: macOS 'wchar.h'ファイルが見つかりません しかし、それは私を助けませんでした。 xcodeの再インストール、コマンドラインツールの再インストール、システムの再起動を試みました。 wchar.hファイルが用意されていますが、コンパイラーはそれを見つけることができません。他に何を試すことができますか?多分それはsysroot関連ですか?それを修正する方法はありますか?

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

wchar.hはxcodeアプリと/Library/Developer/CommandLineToolsの両方に存在するので、完全に無関係なフォルダーで探します。

10
Euphorbium

同じ問題があります。シンボリックリンクを使って修正することができました。これは私が作ったものです:

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

次に、ルートパスワードを入力します。

注意:最後の行に必要なSDKを適用する必要があります。

8
alain

MacOS High Sierraにアップグレードした後も同じ問題が発生しました。以前にコンパイルされていたプロジェクトは、このエラーで動作を停止しました。私の場合、プロジェクトファイルはCMakeアプリケーションによって生成されたものです。解決策は、CMakeを実行し、「キャッシュを削除」して、プロジェクトを再度「構成」することでした。これにより、メイクファイルのsysrootディレクトリ参照が新しいSDKを指すように修正され、エラーが解決されました。

14
Kamyar

MacOSX Mojaveでこれに苦労している人にとって、これは answer が解決します。要するに:

  • ターミナルに移動してopen /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkgを実行します。これにより、Xcodeツールをインストールするためのプロンプトが表示されます。
  • それが終わったら、ターミナルに行き、Sudo xcode-select -s /Library/Developer/CommandLineToolsを実行します
8
ssh

私のシステムはmacOS Mojaveで、次のコマンドラインを実行してこの問題を修正しました。

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
3
NeilXu

これは、makefileに設定された不正なsysroot(古いMac OSバージョンに設定)が原因でした。

2
Euphorbium