更新到Mojave后出现cmath错误

时间:2018-10-30 12:24:10

标签: c++ xcode

我昨天更新为Mojave,此后一直无法编译c ++文件。我收到以下消息:

In file included from test.cpp:4:
In file included from /usr/local/include/bits/stdc++.h:10:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cmath:313:9: error: no member named 'signbit' in the global namespace
using ::signbit;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cmath:314:9: error: no member named 'fpclassify' in the global namespace
using ::fpclassify;
      ~~^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cmath:315:9: error: no member named 'isfinite' in the global namespace; did you mean 'finite'?
using ::isfinite;
      ~~^

完整消息位于pastebin

文件test.cpp只是打印Hello world,而我正在使用“ make test”命令来运行它。

注意:我确实知道有关网络上类似问题的线程,但我无法理解它们,并认为它们太特定于OP。

1 个答案:

答案 0 :(得分:0)

我遇到了这个问题,并在过去几周内对其进行了相当多的研究。我发现了一个临时解决方案,与评论中提到的解决方案不同。

删除/删除XCode。

对我来说不幸的是,这不是一个很好的解决方案,因为它是我的C ++ IDE。但是,目前我似乎无法以其他任何方式解决它。

这里也提到了解决方案:https://github.com/PointCloudLibrary/pcl/issues/2601