gpt4 book ai didi

c - "undefined reference to ` ceilf '"

转载 作者:太空宇宙 更新时间:2023-11-04 00:26:17 25 4
gpt4 key购买 nike

简单的问题。我正在将以前由其他人编写的代码导入到 Eclipse 中。我收到错误:

"undefined reference to `ceilf'"

当我使用 ceilf 时。在我看来,ceilf 应该包含在我的文件中包含的 math.h 库中。但是,当我打开/usr/include/math.h 文件时,我没有看到定义的 ceilf 方法。事实上,据我所知,我的 redhat 部署中的 math.h 文件都没有 ceilf 方法。知道在哪里定义了任性的 ceilf 方法吗?由于这段代码可以工作,甚至可以在其他地方编译,所以问题必须出在我的配置上,而不是代码本身。

附言。我可以使用常规的 ceil 方法。我考虑过只切换到它,但它在程序的关键路径上效率会降低。是的,我知道过早的优化是邪恶的,但出于好奇,我问的是为什么我仍然会出现错误。我不明白为什么我的 math.h 文件不会污染它。

编辑:感谢您解释为什么我找不到 ceilf 函数,我明白这个问题。但是,我不知道如何安抚eclipse。我已尝试按照建议将编译器选项设置为使用 std=c99 并且它不会消除错误。事实上,我认为 eclipse 只是使用我的 Makefile 进行构建,而 make 文件不会抛出异常。我可以做些什么来让编辑器意识到我已经定义了文件吗?

最佳答案

ceilf是数学库的一部分,所以你需要链接-lm使用它。就#include <math.h>还不够。

关于c - "undefined reference to ` ceilf '",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com