嗨,我试图创建C可执行文件,在这里我似乎无法找到“bits/mathcalls.h”。

$ make

45) cannot find include file "bits/mathcalls.h"
        not in /usr/include/linux/bits/mathcalls.h
        not in include/bits/mathcalls.h
        not in /usr/include/bits/mathcalls.h

但是使用find
$ sudo find / -name 'mathcalls.h'
/usr/include/mathcalls.h
/usr/include/i386-linux-gnu/bits/mathcalls.h

所以它确实存在,但不是在“制造”的任何位置。如何添加这些路径,以便“make”在实际拥有它们的位置查找它们?
非常感谢

最佳答案

您不应该直接包含bits/mathcalls.h。您应该始终只包含math.h然后它将包含您的目标操作系统/体系结构的正确mathcalls.h。实际上,如果您打开并阅读任何mathcalls.h标题,它们的前几行中都会有类似的内容

#ifndef _MATH_H
# error "Never include <bits/mathcalls.h> directly; include <math.h> instead."
#endif

如果您实际尝试在不math.h的情况下包含它们,则会抛出错误。

关于c - 找不到bits/mathcalls.h,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21732489/

10-13 08:17