I want to interface FCGI with my C++ code in a server that runs ubuntu. I didn’t find ubuntu under the list of tested platforms in the FCGI website, but I tried building it anyway.
./configure seems to work okay. But, when I run make, I get 2 errors, as pasted below:
fcgio.cpp: In destructor 'virtual fcgi_streambuf::~fcgi_streambuf()':
fcgio.cpp:50: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::overflow(int)':
fcgio.cpp:70: error: 'EOF' was not declared in this scope
fcgio.cpp:75: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::sync()':
fcgio.cpp:86: error: 'EOF' was not declared in this scope
fcgio.cpp:87: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::underflow()':
fcgio.cpp:113: error: 'EOF' was not declared in this scope
make[2]: *** [fcgio.lo] Error 1
make[2]: Leaving directory '/home/giridhar/fcgi-2.4.1-SNAP-0910052249/libfcgi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/giridhar/fcgi-2.4.1-SNAP-0910052249'
make: *** [all] Error 2
Help in fixing this issue would be greatly appreciated.
I noticed that EOF is a C macro and it requires
stdio.hwhich wasn’t included in the fcgio.cpp file.Adding a
#include <stdio.h>to the fcgio.cpp file solves the problem, and now FCGI builds fine on Ubuntu.