【问题标题】:Clang: 'cmath' file not foundClang:找不到“cmath”文件
【发布时间】:2019-08-24 09:28:58
【问题描述】:

我正在使用 clang 编译我的项目,但我遇到了一个奇怪的错误:

[ 1%] Building CXX object CMakeFiles/tfs.dir/src/actions.cpp.o
In file included from /home/travis/build/dominique120/miniature-adventure/src/actions.cpp:20:
In file included from /home/travis/build/dominique120/miniature-adventure/src/otpch.h:27:
/home/travis/build/dominique120/miniature-adventure/src/definitions.h:39:10: fatal error:
'cmath' file not found
 #include <cmath>
 ^
make: *** [all] Error 2

我的 actions.cpp 第 20 行:

#include "otpch.h"

otpch.h 第 27 行:

#include "definitions.h"

definitions.h 第 31 行:

#include <cmath>

我做了一些修改,但我不知道是什么导致了这个错误,在这里修改:https://github.com/dominique120/miniature-adventure/commits/master

PS:GCC 只是转储了大量错误: https://travis-ci.org/dominique120/miniature-adventure/jobs/21905513

【问题讨论】:

  • 您的“PS”中显示的错误与您帖子中的错误完全不同
  • @MattMcNabb 我知道,这就是我寻求帮助的原因。
  • 您的 clang install 听起来好像有问题,希望 clang 专家能过来评论一下。但是 gcc 错误表明您的代码中还有其他一些错误。
  • @MattMcNabb 你能指出我找到问题的正确方向吗?
  • 不,我没有安装 clang

标签: c++ gcc clang travis-ci cmath


【解决方案1】:

在搜索了我在 macOS 上遇到的问题后,我来到了您的帖子。我正在分享一个解决方案,尽管它仅适用于 Mac 用户。

您可能升级了 Xcode(或者它已为您升级)并且您继续使用旧的编译方案。

确定您的磁盘上实际存在以下哪个目录:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/

并确保在你的编译开关中你有 -I 以及一个存在的目录。

【讨论】:

  • 鉴于 OP 的输出显示 "gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3" 这似乎与 Xcode 没有任何关系,或者实际上是一般的 Mac
  • @LightnessRacesinOrbit 我在 OP 的原始版本或后续编辑中都没有看到“Ubuntu/Linaro”。您可能打算将评论转到其他地方吗?无论如何,我添加了免责声明,但我不会删除答案,因为这是一个相当直接的解决方案的棘手问题。
  • 点击问题中的链接。我承认这些信息应该已经在问题本身中,但事实仍然是 OP 不在 Mac 上并且没有使用 Xcode。无论如何,有了您的免责声明,现在很好,并且可能对未来的访问者有用,所以谢谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 2014-01-02
  • 2020-02-16
  • 1970-01-01
  • 2015-04-29
  • 2019-04-13
相关资源
最近更新 更多