'wchar.h' 文件未找到

新手上路,请多包涵

我知道这个问题: macOS ‘wchar.h’ File Not Found 但它对我没有帮助。我试过重新安装 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 我认为它在一些完全不相关的文件夹中查找它。

原文由 Euphorbium 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

我有同样的问题。我能够通过使用符号链接来修复它。这是我做的:

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

然后输入你的root密码。

注意:您必须使用所需的 sdk 调整最后一行。

原文由 alain 发布,翻译遵循 CC BY-SA 4.0 许可协议

升级到 macOS High Sierra 后我遇到了同样的问题。在停止使用此错误之前正在编译的项目。在我的例子中,项目文件是由 CMake 应用程序生成的。解决方案是再次运行 CMake、“删除缓存”和“配置”项目。这更正了 make 文件中的 sysroot 目录引用以指向新的 SDK,并且错误已解决。

原文由 Kamyar 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏