函数'getline'的隐式声明甚至认为它是

时间:2018-06-10 17:51:31

标签: c compiler-errors getline

我目前在c中遇到一些getline()问题。 我知道这不是一个标准的C函数,但是根据我在网上看到的,我使用了适当的资源。

我有两个:

#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

但是我仍然遇到编译问题,它给了我这个输出:

main.c: In function 'read-file':
main.c:46:17: warning: implicit declaration of function 'getline' [-Wimplicit-function-declaration]
C:\Users\Miguel\AppData\Local\Temp\cc6aYESe.o:main.c:(.text+0x85): undefined reference to `getline'
collect2.exe: error: ld returned 1 exit status

我似乎无法弄清楚出了什么问题,我已经看到了这样的几个问题,但似乎没有解决办法。

1 个答案:

答案 0 :(得分:0)

尝试使用以下预处理语句: #define _POSIX_C_SOURCE 200809L

“它允许您使用不属于标准C库但属于POSIX.1(IEEE标准1003.1)标准的功能。使用feature_test_macros中描述的宏可以控制系统公开的定义。头文件。”

ref:What does #define _POSIX_SOURCE mean?