I am not understanding how I should compile with gcc the following .c and library.
example:
Files: "commons.h"
and "commons.c"
(the .c defines function etc...)
Files: "level1.h"
and "level1.c"
, level1.c
includes "commons.h"
Files: "level2.h"
and "level2.c"
, level2.c
includes "commons.h"
and "level1.h"
I tried this and got "undefined reference to x" (where x is a function inside level1):
gcc commons.c -c -o commons.o (OK)
gcc level1.c -c -o level1.o (OK)
gcc level2.c -o level2.o (error, undefined reference to x)
I expect to have level2 to be execute, I will only execute this.
How should I compile? Which order? (an example with command line will help me understand)