file1.h
Code:
#include "lib.h"
void func1(void);
file2.h
Code:
#include "lib.h"
void func2(void);
file1.c
Code:
#include "lib.h"
void func1(void)
{
libfunc("heoisdjfls");
return;
}
file2.c
Code:
#include "lib.h"
void func2(void)
{
libfunc("heoisdjfls");
return;
}
lib.h
Code:
#include <stdio.h>
int libfunc(char *p)
{
puts (p);
return 0;
}
main.c
Code:
#include "file1.h"
#include "file2.h"
int main()
{
func1();
func2();
return 0;
}
Code:
C:\>gcc -c file1.c -o file1.o
C:\>gcc -c file2.c -o file2.o
C:\>gcc -c main.c -o main.o
In file included from file2.h:1,
from main.c:2:
lib.h:5: error: redefinition of 'libfunc'
lib.h:5: error: previous definition of 'libfunc' was here
C:\>