从 Mojave 升级到 Catalina 可能会在编译依赖于
升级后,尝试使用
error: no member named 'signbit' in the global namespace error: no member named 'fpclassify' in the global namespace error: no member named 'isfinite' in the global namespace
Catalina 会清除并保护 /usr/include 目录,该目录通常是 C 标头所在的位置。因此,构建系统可能无法找到必要的标头。
要解决此问题,需要使用 -isysroot 编译器标志将构建系统指向正确的标头。以下是执行此操作的步骤:
使用 xcrun --show-sdk-path 确定系统 SDK 路径,然后相应地修改构建系统:
按照这些步骤应该可以解决问题并允许程序使用
以上是为什么我的 C 代码在升级到 Catalina 后无法使用 `` 标头进行编译?的详细内容。更多信息请关注PHP中文网其他相关文章!