2017-10-07 89 views
1

我试图在Ubuntu 16.04中编译ChatScipt v7.55。但是当我使用make server命令,我得到这个错误:错误:'TCP_NODELAY'未在此范围内声明

evserver.cpp: In function ‘int settcpnodelay(int)’: 
evserver.cpp:263:40: error: ‘TCP_NODELAY’ was not declared in this scope 
    return setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (void*) &on, sizeof(on)); 
             ^
Makefile:110: recipe for target 'evserver.o' failed 
make: *** [evserver.o] Error 1 

这是命令的完整结果:

************ LINUX VERSION ************ 
g++ -c -std=c++11 -Wall -funsigned-char -Wno-write-strings -Wno-char-subscripts -Wno-strict-aliasing -DLOCKUSERFILE=1 -DEVSERVER=1 -DEVSERVER_FORK=1 -DDISCARDPOSTGRES=1 -DDISCARDMONGO=1 -DDISCARDMYSQL=1 -Ievserver evserver.cpp -o evserver.o 
evserver.cpp: In function ‘int settcpnodelay(int)’: 
evserver.cpp:263:40: error: ‘TCP_NODELAY’ was not declared in this scope 
    return setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (void*) &on, sizeof(on)); 
             ^
Makefile:110: recipe for target 'evserver.o' failed 
make: *** [evserver.o] Error 1 

这是什么问题,我该如何解决?

回答

0

我解决了这个问题,在evserver.cpp以上加#include <netinet/tcp.h>