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原始实现,但我更愿意有一个"更清洁"的解决方案,如果可能的话)
getlinestdio.h在glibc版本2.10及更高版本中定义,但在早期版本中没有定义,在BSD派生的libc中也没有(到目前为止,添加 10.5肯定没有getline,10.7肯定会).
GNU库的变化是由于POSIX 2008标准的变化而产生的,现在包括getline.
据推测,随着时间的推移,这将传播给其他libc.与此同时,我明白它给很多项目带来了麻烦.
您可以从GNU下载独立版本.