全局名称空间中没有名为“ isinf”的成员

时间:2019-12-03 13:43:22

标签: c++ macos compiler-errors

我在Mac上编译几乎所有东西时都遇到问题(例如xgboost),这表明问题不在于单个项目,而在于我的机器上有问题。我团队中的其他人可以很好地进行编译。

当我尝试编译时,出现如下错误:

/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:317:9: error: no member named 'isinf' in the global namespace
using ::isinf;

cmath中都是问题。

我有:

  • 检查cmake是否为最新版本。
  • 使用xcode-select --install完全删除并重新安装了命令行工具
  • 完全删除XCode并运行sudo xcode-select --reset
  • 将我的make configure输出与同事进行了比较-相同,所有工具/库的所有版本也是如此
  • 检查了brew中是否有问题的东西-什么也看不到。酿造医生说我已经准备酿造(一切都很好)。
  • 检查我的MacOS SDK是否正常,是(10.15)

我在GitHub或此处找到的任何问题都没有答案来指出问题的根本原因。

这是怎么回事?至少,我在哪里可以找到更多线索?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用CommandLineTools SDK而不是XCode.app SDK。运行“ xcode-select --reset”将使macOS退回以使用XCode.app SDK。

#Check the current sdk
xcrun --show-sdk-path

#Change sdk
sudo xcode-select -s /Library/Developer/CommandLineTools          #Using CommandLineTools SDK
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer   #Using XCode.app SDK