gcc编译错误,gnu readline()从stdin读取

时间:2011-02-11 11:27:01

标签: gcc compiler-errors stdout stdin readline

嗨,伙计们,

我用gnu readline库编写了一个名为“ioprogram.c”的小程序,在Internet上引用了各种文档。但是,gcc报告以下错误。我的问题是什么?

#include <readline/readline.h>
#include <stdio.h>
int main()
{
    char* c = readline("");
    int len = strlen(c);
    for(int i=0; i<len; i++)
    {    
        printf("%c", *(c+i));  
        fflush(stdout);        
    }
    free(c);
}

gcc错误:

In file included from /usr/include/readline/readline.h:37,
                 from ioprogram.c:1:
/usr/include/readline/rltypedefs.h:65: error: expected ‘)’ before ‘*’ token
In file included from ioprogram.c:1:
/usr/include/readline/readline.h:416: error: expected ‘)’ before ‘*’ token
/usr/include/readline/readline.h:532: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/readline/readline.h:533: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/readline/readline.h:555: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/readline/readline.h:823: error: expected specifier-qualifier-list before ‘FILE’
ioprogram.c: In function ‘main’:
ioprogram.c:7: error: ‘for’ loop initial declaration used outside C99 mode

提前感谢任何评论。

1 个答案:

答案 0 :(得分:0)

尝试编译 gcc ioprogram.c -o ioprogram -lreadline -lncurses