When I try to compile my program I get these errors:
btio.c:19: error: ‘O_RDWR’ was not declared in this scope
btio.c:19: error: ‘open’ was not declared in this scope
btio.c: In function ‘short int create_tree()’:
btio.c:56: error: ‘creat’ was not declared in this scope
btio.c: In function ‘short int create_tree(int, int)’:
btio.c:71: error: ‘creat’ was not declared in this scope
what library do I need to include to fix these errors?
You want:
Also, note that, as @R Samuel Klatchko writes, these are not “libraries”. What
#includedoes is inserts a file into your code verbatim. It just so happens that the standard headerfcntl.hwill have a line like:And
unistd.hwill have lines like:In other words, function prototypes, which informs the compiler that this function exists somewhere and optionally what its parameters look like.
The later linking step will then look for these functions in libraries; that is where the term “library” comes in. Most typically these functions will exist in a library called
libc.so. You can think of your compiler inserting the flag-lc(link tolibc) on your behalf.Also, these are not “C++” but rather POSIX.