Bonjour,

J'essaye de compiler un bout de code que je viens d'écrire pour faire quelque test mais la compilation échoue et indique ceci :

In file included from interpolation.c:4:0:
interpolation.h:2:1: erreur: expected ‘;’, identifier or ‘(’ before ‘void’
make: *** [interpolation.o] Erreur 1

J'ai tenté plusieurs approche pour éliminer cette erreur mais pas moyen de trouver d'où elle vient. Visiblement le problème vient de mon fichier interpolation.h (qui contient les prototypes de mes fonctions ainsi que du makefile ...

interpolation.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
#include "struct.h"
#include "interpolation.h"
 
void linearInt (Coordinate *point, Linear *line, int nbrPoint)
{ 
   int i = 0;
 
   for (i = 0; i < nbrPoint - 1; i++)
   {
 
      line[i].slope = (point[i+1].y - point[i].y) / (point[i+1].x - point[i].x);
      line[i].x1 = point[i].x;
      line[i].y1 = point[i].y;
   }  
}
interpolation.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
void linearInt (Coordinate *point, Linear *line, int nbrPoint);
makefile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CC=gcc
CFLAGS=--std=c99 --pedantic -Wall -W -Wmissing-prototypes
LDFLAGS=
EXEC=InterPoly
 
all: $(EXEC)
 
InterPoly: interpolation.o file.o main.o
	$(CC) -o InterPoly interpolation.o file.o main.o $(LDFLAGS)
 
interpolation.o: interpolation.c interpolation.h struct.h
	$(CC) -o interpolation.o -c interpolation.c $(CFLAGS)
 
file.o: file.c file.h
	$(CC) -o file.o -c file.c $(CFLAGS)
 
main.o: main.c interpolation.h file.h struct.h
	$(CC) -o main.o -c main.c $(CFLAGS)
 
clean:
	rm *.o
 
mrproper: clean
	rm $(EXEC)
J'ai un peu plus que cette fonction dans mon interpolation.c mais même ainsi, avec juste une seule fonction et son prototype dans le .h ça affiche l'erreur. D'ailleurs si je supprime mes fichier interpolation, ça affiche les mêmes erreurs de compilation mais cette fois pour mon fichier file.h ... Je dois surement avoir mal fait mon makefile ou je ne sais quoi ...