macOS Big Sur 11.1 找不到 stdlib.h w

问题描述

我在我的 cpp 项目的 build 文件夹中,想要编译 make 作为回应,我得到

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/stdlib.h:97:15: Fatal error: 'stdlib.h' file not
      found
#include_next <stdlib.h>

我也无法在 Clion 中编译。

我尝试使用 xcode-select -p 设置不同的路径,但 sdk 包不再可用。

解决方法

如果您最近更新到 Big Sur,则需要重新运行 xcode-select --install 以重新安装 XCode 命令行工具(也可通过 https://developer.apple.com/download/more/ 获得)。

如果您最终遇到库路径问题,以下可能会有所帮助:

_sdk_root=`xcrun --sdk macosx --show-sdk-path`
export LIBRARY_PATH="${_sdk_root}/usr/lib"

这会将 LIBRARY_PATH 设置为 XCode 将使用的相应系统 /usr/lib

同样,添加 -I${_sdk_root}/usr/include(您仍然需要上面的 _sdk_root= 行)可以帮助您的编译器找到合适的标头。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...