Linux 上的 Autoreconf 和 <math.h>

Autoreconf and <math.h> on Linux

在使用 Autoreconf (Autoconf) 时如何传递“-lm”标志或指定要包含的库?

程序包含,我可以这样编译:

gcc -std=c99 myprogram -lm

但是当我编译 vi Autoreconf 时,我收到一条错误消息说

undefined reference to 'pow'
undefined reference to 'sqrt'
etc

问题出在 Linux,同样的程序在 OSX 上编译没有错误。

我如何编辑 configure.ac 或 Makefile.am 以获得 gcc 的 -lm 标志?

将此行添加到您的 Makefile.am:

AM_LDFLAGS = -lm

这会将 link 数学库添加到您的程序中。

AC_SEARCH_LIBS([sqrt], [m]) 添加到您的 configure.ac