CentOS7安装fcgi-2.4.1-fastcgi开发包-make编译出错

fcgio.cpp: In destructor 'virtual fcgi_streambuf::~fcgi_streambuf()':
fcgio.cpp:50:14: error: 'EOF' was not declared in this scope
     overflow(EOF);
              ^
fcgio.cpp: In member function 'virtual int fcgi_streambuf::overflow(int)':
fcgio.cpp:70:72: error: 'EOF' was not declared in this scope
             if (FCGX_PutStr(pbase(), plen, this->fcgx) != plen) return EOF;
                                                                        ^
fcgio.cpp:75:14: error: 'EOF' was not declared in this scope
     if (c != EOF)
              ^
fcgio.cpp: In member function 'virtual int fcgi_streambuf::sync()':
fcgio.cpp:86:18: error: 'EOF' was not declared in this scope
     if (overflow(EOF)) return EOF;
                  ^
fcgio.cpp:87:41: error: 'EOF' was not declared in this scope
     if (FCGX_FFlush(this->fcgx)) return EOF;
                                         ^
fcgio.cpp: In member function 'virtual int fcgi_streambuf::underflow()':
fcgio.cpp:113:35: error: 'EOF' was not declared in this scope
             if (glen <= 0) return EOF;


解决办法:

在include/fcgio.h文件中加上 #include < cstdio>,或者
在include/fcgio.h文件中加上 #include < stdio.h>,
然后再编译安装就通过了。


Use -1 instead

EOF is defined in < stdio.h> as follows:

#define EOF (-1) 

or (more professionally), you may put the following code above your main() or inside your header file:

#ifndef EOF
#define EOF (-1)
#endif 

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(128) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
posted @ 2016-02-01 00:00  张同光  阅读(170)  评论(0编辑  收藏  举报