ubuntu - ld : "undefined reference to symbol ' sqrtf'"error with G++ via Apache Ant

标签 ubuntu ant g++ cmath

最近,我正在尝试将 Apache Ant 与 g++4.8 与 -std=c++11 一起使用。 .

如果我尝试了这段代码,它就通过了。

#include <cmath>
...
sqrtf((float)100);

但是,如果我输入:
#include <cmath>
...
sqrt((float)100);

g++ 编译器将产生错误:

/usr/bin/ld: test.o: undefined reference to symbol 'sqrtf@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

添加 -lm也无济于事。有任何想法吗?

谢谢!

最佳答案

问题不在于 apache ant,在某些 Linux 发行版中,g++ 和 gcc 编译器需要“-lm”来链接 C 中的“math.h”和 C++ 中的“cmath”所包含的 cmath 库

关于ubuntu - ld : "undefined reference to symbol ' sqrtf'"error with G++ via Apache Ant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40321507/

相关文章:

python - 2to3 不存在,无法在 Ubuntu 上安装脚本

eclipse - Eclipse 的 Ant 文档集成

c++ - 用 g++ 链接 opencv 库

c++ - GCC 关于 strncpy 使用的误报警告?

linux - 在 RPI-3B+ 中安装 OV7251 驱动程序以与 ROS 一起使用

c++ - 无法使用 lapack 构建 C++ 代码

ios - 使用 Swift 在 Ubuntu 上设置完美服务器时出错

使用 Path 而不是 FileSet 的 Ant Copy 任务

java - 在您的机器上安装多个 GAE SDK 实例会导致冲突吗?

c++ - 将 if-else 替换为 ? : in c++