我正在尝试从here安装FastCGI
Dev kit
。
但是当我尝试make
时,我收到了以下错误。
我不知道如何解决。有任何想法吗?我正在使用Ubuntu 64 bit
。
*** Warning: This library needs some functionality provided by -lnsl.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
gcc -shared libfcgi_la-fcgiapp.lo libfcgi_la-fcgi_stdio.lo libfcgi_la-os_unix.lo -Wl,-soname -Wl,libfcgi.so.0 -o .libs/libfcgi.so.0.0.0
(cd .libs && rm -f libfcgi.so.0 && ln -s libfcgi.so.0.0.0 libfcgi.so.0)
(cd .libs && rm -f libfcgi.so && ln -s libfcgi.so.0.0.0 libfcgi.so)
ar cru .libs/libfcgi.a libfcgi_la-fcgiapp.o libfcgi_la-fcgi_stdio.o libfcgi_la-os_unix.o
ranlib .libs/libfcgi.a
creating libfcgi.la
(cd .libs && rm -f libfcgi.la && ln -s ../libfcgi.la libfcgi.la)
source='fcgio.cpp' object='fcgio.lo' libtool=yes \
depfile='.deps/fcgio.Plo' tmpdepfile='.deps/fcgio.TPlo' \
depmode=gcc3 /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -g -O2 -c -o fcgio.lo `test -f fcgio.cpp || echo './'`fcgio.cpp
rm -f .libs/fcgio.lo
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -g -O2 -c fcgio.cpp -MT fcgio.lo -MD -MP -MF .deps/fcgio.TPlo -fPIC -DPIC -o .libs/fcgio.lo
fcgio.cpp: In destructor 'virtual fcgi_streambuf::~fcgi_streambuf()':
fcgio.cpp:50:14: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::overflow(int)':
fcgio.cpp:70:72: error: 'EOF' was not declared in this scope
fcgio.cpp:75:14: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::sync()':
fcgio.cpp:86:18: error: 'EOF' was not declared in this scope
fcgio.cpp:87:41: error: 'EOF' was not declared in this scope
fcgio.cpp: In member function 'virtual int fcgi_streambuf::underflow()':
fcgio.cpp:107:35: error: 'EOF' was not declared in this scope
make[2]: *** [fcgio.lo] Error 1
make[2]: Leaving directory `/home/Downloads/fcgi-2.4.0/libfcgi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Downloads/fcgi-2.4.0'
make: *** [all] Error 2
答案 0 :(得分:13)
vi fcgi-2.4.0/libfcgi/fcgio.cpp
并添加#include <stdio.h>
,
然后编译就可以了。
答案 1 :(得分:3)
添加:
#include "stdio.h"
将解决实际问题。