For some reason, when I compile my code, the compiler does not find prototypes for fsync and truncate. I get the following:
cc -c -Wall -Wno-overflow -pedantic -std=c99 -I/Users/matt/Programming/BitEagle_Projects/cbitcoin/include -I/usr/local/ssl/include -I/opt/local/include -O3 -arch i386 -arch x86_64 -D_POSIX_SOURCE -fPIC dependencies/storage/CBBlockChainStorage.c -o build/CBBlockChainStorage.o dependencies/storage/CBBlockChainStorage.c:154:6: warning: implicit declaration of function 'fsync' is invalid in C99 [-Wimplicit-function-declaration] if(fsync(indexAppend)){ ^ dependencies/storage/CBBlockChainStorage.c:649:6: warning: implicit declaration of function 'truncate' is invalid in C99 [-Wimplicit-function-declaration] if (truncate(filename, CBArrayToInt32(data, 0))) { ^
What do I need to do to remove these warnings? I include unistd.h. This is done on OSX using clang:
$ cc --version Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.2.0 Thread model: posix
Thanks.
source share