在mac osx上使用gnu/c getline()编译c ++代码?

Yoa*_*oav 2 c++ macos gnu g++ incompatibility

我正在尝试在我的mac osx leopard机器上编译一个预先存在的c ++包,并收到以下错误:

    error: no matching function for call to 'getline(char**, size_t*, FILE*&)'

这可能是因为getline()是GNU特定的扩展.

我可以以某种方式使osx默认g ++编译器识别这样的GNU特定扩展吗?

(如果没有,我总是可以提供我自己的实现或GNU原始实现,但我更愿意有一个"更清洁"的解决方案,如果可能的话)

dmc*_*kee 5

getlinestdio.h在glibc版本2.10及更高版本中定义,但在早期版本中没有定义,在BSD派生的libc中也没有(到目前为止,添加 10.5肯定没有getline,10.7肯定会).

GNU库的变化是由于POSIX 2008标准的变化而产生的,现在包括getline.

据推测,随着时间的推移,这将传播给其他libc.与此同时,我明白它给很多项目带来了麻烦.

您可以从GNU下载独立版本.