muduo编译时报错:
SocketsOps.cc:154:12: error: ‘::readv’ has not been declared
return ::readv(sockfd, iov, iovcnt);
解决方法:
1.进入muduo下的net文件夹
cd muduo/
cd net/
进入SocketsOps.cc文件
vim SocketsOps.cc
2.修改源码
将源码
ssize_t sockets::readv(int sockfd, const struct iovec *iov, int iovcnt)
{
return ::readv(sockfd, iov, iovcnt);
}
修改为:
ssize_t sockets::readv(int sockfd, const struct iovec *iov, int iovcnt)
{
return muduo::net::sockets::readv(sockfd, iov, iovcnt);
}
即可。