简单的C程序在OS X上编译,但不包括Fedora 16,包括math.h但未使用

时间:2012-03-07 11:03:19

标签: c macos gcc fedora autotools

所有代码都可以在https://github.com/cole-christensen/airC

找到

看起来很痛苦,但它不起作用。 #include <math.h>已存在,但M_PI无法识别

airC.c: In function ‘x_curved’:
airC.c:94:33: error: ‘M_PI’ undeclared (first use in this function)

系统信息

gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC)
Linux fedora-oe 3.2.6-3.fc16.x86_64

我认为它只能与autotools有关。随意批评我的混乱:))

修改

不赞成Downvotes和无益答案的链接。

manpage明确声明M_PI已定义且M_PI实际上是在#ifdef后面的/usr/include/math.h中定义的,我不明白。

1 个答案:

答案 0 :(得分:2)

M_PI不是标准C.

您必须定义_GNU_SOURCE才能在Linux上启用它。 OS X源自BSD,因此规则可能不同。