I have the following code snippet in a file called RaftLog.cc :
#include <algorithm> #include <fcntl.h> #include <sys/stat.h> namespace LogCabin { namespace Server { namespace RaftConsensusInternal { namespace FilesystemUtil = Storage::FilesystemUtil; namespace { bool fileToProto(const std::string& path, google::protobuf::Message& out) { int fd = open(path.c_str(), O_RDONLY); if (fd == -1) return false; else close(fd); FilesystemUtil::FileContents file(path); // more code down here, not useful to the problem.
However, when I compile, I have:
build/Server/RaftLog.cc: In function 'bool LogCabin::Server::RaftConsensusInternal::{anonymous}::fileToProto(const string&, google::protobuf::Message&)': build/Server/RaftLog.cc:43:17: error: 'close' was not declared in this scope build/Server/RaftLog.cc: In function 'void LogCabin::Server::RaftConsensusInternal::{anonymous}::protoToFile(google::protobuf::Message&, const string&)': build/Server/RaftLog.cc:76:13: error: 'close' was not declared in this scope In file included from ./Server/RaftConsensus.h:17:0,
I do not know why the close() function is not included in the #include <fcntl.h> . Can someone please help me? Also let me know if I should add more code.
c ++ c unix
cybertextron
source share