How can I include foo() function of foo.c in this small program (sorry for my noob question):
In my foo.h file:
/* foo.h */
#include <stdio.h>
#include <stdlib.h>
int foo(double largeur);
In foo.c:
/* foo.c */
#include <stdio.h>
#include <stdlib.h>
#include "foo.h"
int foo(double largeur)
{
printf("foo");
return 0;
}
And in main.c:
/* main.c */
#include <stdio.h>
#include <stdlib.h>
#include "foo.h"
int main(int argc, char *argv[])
{
printf("Avant...");
foo(2);
printf("Apres...");
return 0;
}
After compiling:
$ gcc -Wall -o main main.c
I get this error:
Undefined symbols: "_foo", referenced from: _main in ccerSyBF.o ld: symbol(s) not found collect2: ld returned 1 exit status
Thanks for any help.
printf()
calls "work", you shoukd include a '\n' in the text to print: egprintf("Apres...\n");
. Usually the output strean (stdout
) is line buffered and only complete lines (with the\n
) are sent to the output device unless you force them withfflush(stdout);
. – pmg