Salut j ai ecrit un programme c, separe en plusieurs *.c et un header common.h, cependant a la compilation j ai pleins d erreurs du type multiple definition of
voila le header
#ifndef COMMON_H
#define COMMON_H
#include <stdio.h>
#include <math.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define zero (double)0.0
#define one (double)1.0
#define two (double)2.0
#define three (double)3.0
#define four (double)4.0
#define five (double)5.0
#define six (double)6.0
#define seven (double)7.0
#define eight (double)8.0
#define pi (double)acos(-one)
int nmesh;
int multigrid,testcase;
double tol,cll,clr;
double **dt;
double *p2h;
double **increment;
int *nelems,*nnodes,*fcc;
int ***pbc_list;
int **nb_elem_pbc;
struct vector{double x,y;};
struct vertex{int nod1,nod2,nod3;};
struct node
{
double u;
int *elem;
double x,y;
} **nod;
struct edge
{
int nod1,nod2;
double length;
int bd_mark;
};
struct triangle
{
double u;
struct vector bary;
struct vertex vert;
int neigh[3];
struct vector norm[3];
double area;
struct edge edg[3];
int parent;
int child[4];
} **tri;
void read_input();
void mesh_init();
void mesh_refin();
void write_mesh();
void geometry();
void initialize();
void permut(int*,int*,int*);
void solver();
void lmg();
void restriction(int,struct triangle*,struct triangle*);
void restriction_res(int,double[],double[],struct triangle*);
void interpolation(int,struct triangle*,struct triangle*,double[]);
void forcing(int*,int*,int,int,struct triangle*,struct triangle*,
struct node*,struct node*,int**,int**);
void runge_kutta(int*,int,struct triangle*,struct node*,int**,double*);
void right_hand_side(int*,int,struct triangle*,struct node*,int**,double[]);
void right_hand_side2(int*,int,struct triangle*,struct node*,int**,double[]);
void cal_err(int,double[],double*,int*);
void output_struc();
void output_unstruc();
void mesh_conn();
#endif
merci pour votre aide
Francois