J'ai developpé un programme en C sous visual studio.... A la compilation je n'ai aucune erreur et le programme fonctionne parfaitement.

Celui-ci est destine a tourner sous UNIX mais lorsque j'essaye de le compiler avec cc sous UNIX il m'indique une erreur de syntaxe dans le .h contenant mes strutures.

Lorsque j'essaye de compiler mon source sous cygwin en lui laissant l'extension .cpp (par defaut sous VS) la compilation est ok. Mais si je le renomme en .c la ca ne fonctionne plus, il me met plusieurs pages d'erreurs, la majeure partie en relation avec ma structure. J'ai potassé mes cours de C car ca fait longtemps que je n'en ai pas fait mais c'est bien la méthode que l'on m'a apprise que j'ai appliqué... mais lors des cours on compilait avec VS donc......

Une de mes structures de mon .h :

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
 
 
struct FACT
{
	int numFact;
	int closedTime;
	int numPdsFact;
	char * namePdsFact;
	int numRvc;
	char * nameRvc;
	int miNumber;
	int miMajNum;
	char * miMajName;
	int dscNum;
	char * dscName;
	int nbCover;
	float montant;
	float montantDsc;
	int flag;
	FACT * lineSuiv;
};
Ensuite, au dessus de mon main() je declare un pointeur vers ma structure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
FACT * pdebF = NULL;		   // Debut du chainage
Et j'accède aux elements de ma structure par pdebF->flag

Ou est l'erreur ???
Sous cygwin mes structures ne sont pas reconnues et chaque fois que je les utilise il me met un message d'erreur. Je précise que j'ai bien ajouté un #include de mon .h entre guillemets avant mon main et que mon .h est bien present dans le repertoire du source.


Merci d'avance.