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
阅读(3044) | 评论(0) | 转发(0) |