Can't get my head around them!
I have myfunctions.h:
myfunctions.c:Code:#ifndef MYFUNCTIONS_H #define MYFUNCTIONS_H extern int triangularnumber (int number); #endif
And a program disjointsubset.c:Code:#include <stdio.h> int triangularnumber ( int number ) { int result, i, number_adj; result = number; for (i = 1; i < number; i++) { number_adj = number - i; result = result + number_adj; } return result; }
Which is quite big but has this line:
My makefile is called Makefile:Code:if(number_equal >= triangularnumber (no_of_rows_count - 1)) { //code }
And my error:Code:CFLAGS=-g default: disjointsubset myfunctions.o: myfunctions.c myfunctions.h disjointsubset.o: disjointsubset.c myfunctions.h main: disjointsubset.o myfunctions.o gcc -g -o disjointsubset disjointsubset.o myfunctions.o clean: rm -f *.o disjointsubset backup: tar cf backup.tar disjointsubset.c myfunctions.h myfunctions.c Makefile
(From terminal)
Not sure what i'm doing wrong as this is about as simple as i can get it!Code::>make cc disjointsubset.o -o disjointsubset disjointsubset.o(.text+0x9ed): In function `main': /home/shill/cprogramming/disjointsubset.c:184: undefined reference to `triangularnumber' collect2: ld returned 1 exit status make: *** [disjointsubset] Error 1
Can you spot anything i'm doing wrong?
It all worked when the function was declared inside disjointsubset.c!
Thanks



LinkBack URL
About LinkBacks


