【发布时间】:2011-10-16 05:06:41
【问题描述】:
我在 Ubuntu 11.04 下工作,现在从事一个项目,其源代码使用“sqrtf”或“lgamma”等例程,我的 IDE 抱怨这些例程,声称在“math.h”中找不到它们。一位资深成员告诉我,我需要 POSIX.1-2001。我使用ldd --version 来检查我的glibc 的版本,它给出了ldd (Ubuntu EGLIBC 2.13-0ubuntu13) 2.13。我猜 glibc 的嵌入式版本被简化了,所以我决定将它升级到完整的 glibc-2.14。但是经过一些 aptitude 搜索后,我发现我必须手动安装。一路沮丧,我意识到也许上帝在警告我不要走错路。所以……谁能给我一些提示?谢谢~
【问题讨论】:
-
我在我的暂定项目中写了
cout<<sqrtf(3)<<endl;。尽管有 Eclipse 的抱怨(“函数 'sqrtf' 无法解析”和“'endl' 的重载无效”),编译器仍正常运行。所以可能是Eclipse中的一些设置不当造成的。 -
你能写一个小测试用例吗?看来你也是用c++写的?
-
#include <iostream> #include <math.h> using namespace std; int main() { cout<<sqrtf(3)<<endl; return 0;}这就是我写的。有人发布了他的案例here,但即使我重建了索引,它仍然保持不变。这似乎是 CDT 的 codan 的错误,而不是我的 glibc 版本问题。
标签: eclipse posix upgrade eclipse-cdt glibc