I have made a header and a source but I don't know how to link them up. I looked it up on the web but the commands provided didn't work (or I wouldn't be here :) ).
To compile it (if you use GCC):
Header:
$ gcc -c whatever.h -o whatever.o
Source:
$ gcc -c sample.c -o sample.o
To link the files to create an executable file:
$ gcc sample.o whatever.o -o sample
What did I do wrong. I am using geany for writing (compile error is here) but the commands are executed on a terminal in the same directory. can anybody give me the build commands for geany so whenever I want to include a header I can just compile and run?
Good and the right way would be to
sample.c
#include "header.h"
and compile
gcc sample.c -o ob
Thumb Rule:
.h
] are for #include
ing.c
] are for compiling and linking together to create the executable.Once you've #include
d your header file in a .c
file, there's no need to compile the header file and produce an object file.
FYI, you can check the effect of #include
-ing the header file by running
gcc -E sample.c
and hope you'll understand why you need not compile and link the header file separately.
EDIT:
if you have a sample.c
and whatever.h
, to produce and run the binary, simply do
#include "whatever.h"
in the top of sample.c
gcc -o sample sample.c
./sample
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With