2011-02-11 73 views
0

HI,大家好,GCC编译错误来从标准

我写一个小程序,名为“ioprogram.c”,用GNU readline库,在互联网上闯民宅的各种文档阅读。但是,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 

先感谢您的任何意见。

+0

代码编译构建我,我看到你的代码没有语法错误,但你得到的错误提示有一个。请提供您使用的gcc版本,以及您如何编译代码。请记住,您需要链接到readline库(“ - lreadline”)。 – gamen 2011-02-11 11:36:30

回答

0

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