Code::Blocks C++ 使用 MacOS Mojave 编译:致命错误:sys/cdefs.h:没有这样的文件或目录
Posted
技术标签:
【中文标题】Code::Blocks C++ 使用 MacOS Mojave 编译:致命错误:sys/cdefs.h:没有这样的文件或目录【英文标题】:Code::Blocks C++ compiling with MacOS Mojave : fatal error: sys/cdefs.h: No such file or directory 【发布时间】:2018-09-26 12:28:39 【问题描述】:(这是我在 *** 上的第一个问题)
我必须在工作中使用 Mac,并且我正在使用 Code::Blocks 使用 C++ 进行编码(因为我已经习惯了这个 IDE)。 2 天前,我从 MacOS High Sierra 升级到了 MacOS Mojave,我可以说……这是一个错误的决定。
现在,当尝试#include <math.h>
时,我收到此错误:fatal error: sys/cdefs.h: No such file or directory
。我试过用xcode-select --install
重新安装xcode命令行工具,还是不行。
有人知道发生了什么,我该如何解决这个问题?
【问题讨论】:
您是否尝试过包含 cmath 而不是 math.h ? math.h 是 C 而不是 C++ cmath 是 c++ 等价物(实际上主要是一个包装器)。 感谢您的提示,但它绝对不会改变任何东西 :( 您是否尝试过使用 OSX 的搜索功能来查看文件是否真的存在于任何地方?如果是,您可以在 Code::Blocks 中添加位置路径。如果不是,您可能需要使用 brew 或类似工具安装标头。 这可能是您正在寻找的答案:***.com/questions/19575956/… 看来您必须下载 cmd 工具并安装它,而不是运行 xcode-slect --install。 好的,谢谢您的回复。感谢我读到的内容,我尝试重新安装 gcc,它解决了问题。标头的位置必须在 High Sierra 和 Mojave 之间发生变化。 【参考方案1】:接受的答案似乎对我不起作用,但this did:
cd /Library/Developer/CommandLineTools/Packages/
open .
然后双击 pkg 文件。
【讨论】:
非常感谢您的贡献 :) 我很遗憾听到我的不适用于所有人...【参考方案2】:通过重新安装 gcc 解决了问题。标头的位置可能在 High Sierra 和 Mojave 之间发生了变化。
我建议遇到同样问题的人也这样做,并使用xcode-select --install
(重新)安装 xcode 命令行工具
【讨论】:
重新安装 gcc4.9 和 gcc7 对我没有影响。但是,使用直接路径 (/usr/bin/gcc
) 允许我编译以上是关于Code::Blocks C++ 使用 MacOS Mojave 编译:致命错误:sys/cdefs.h:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章
进程在 code::blocks c++ 中返回 -1073741819 (0xC0000005)
Code::Blockswindows 环境下编译 Code::Blocks(已修正)