我正在尝试在Ubuntu 16.04中编译ChatScipt v7.55。但是当我使用make server
命令时,出现此错误:
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
有什么问题,我该如何解决?
最佳答案
我通过在#include <netinet/tcp.h>
文件的上方添加evserver.cpp
解决了该问题
关于tcp - 错误: ‘TCP_NODELAY’ was not declared in this scope,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46623931/