Partage

Erreur de compilation

Programme tout con

Sujet résolu
Le 26 mars 2010 à 16:07:40

Salut à tous,

J'ai un problème avec un programme qui provoquent des erreurs de compilation que je ne comprends pas.

Voici le programme :

#include <stdlib.h>
#include <stdio.h>
#include <trainsim/ctrain_handler.h>

int main(void){
	init_maquette();

	mettre_maquette_hors_service();

	return(EXIT_SUCCESS);


}


Le deux fonctions init_maquette() et mettre_maquette_hors_service() viennent d'une librairie que j'ai développée et qui fonctionne parfaitement.

Lors de la compilation (avec Eclipse, sous Ubuntu 9.10), ce programme, qui me semble-t-il devrait fonctionner, provoque les erreus suivantes :

**** Build of configuration Debug for project exempletrainsim ****

make all 
Building file: ../main.c
Invoking: GCC C Compiler
gcc -D_REENTRANT -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o"main.o" "../main.c"
../main.c:1: error: stray ‘\376’ in program
../main.c:1: error: stray ‘\377’ in program
../main.c:1:3: warning: null character(s) ignored
../main.c:1: error: stray ‘#’ in program
../main.c:1:5: warning: null character(s) ignored
../main.c:1:7: warning: null character(s) ignored
../main.c:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘n’
../main.c:1:9: warning: null character(s) ignored
../main.c:1:11: warning: null character(s) ignored
../main.c:1:13: warning: null character(s) ignored
../main.c:1:15: warning: null character(s) ignored
../main.c:1:17: warning: null character(s) ignored
../main.c:1:19: warning: null character(s) ignored
../main.c:1:23: warning: null character(s) ignored
../main.c:1:25: warning: null character(s) ignored
../main.c:1:27: warning: null character(s) ignored
../main.c:1:29: warning: null character(s) ignored
../main.c:1:31: warning: null character(s) ignored
../main.c:1:33: warning: null character(s) ignored
../main.c:1:35: warning: null character(s) ignored
../main.c:1:37: warning: null character(s) ignored
../main.c:1:39: warning: null character(s) ignored
../main.c:1:41: warning: null character(s) ignored
../main.c:2:1: warning: null character(s) ignored
../main.c:2:3: warning: null character(s) ignored
../main.c:2:4: error: invalid preprocessing directive #i
../main.c:2:5: warning: null character(s) ignored
../main.c:2:7: warning: null character(s) ignored
../main.c:2:9: warning: null character(s) ignored
../main.c:2:11: warning: null character(s) ignored
../main.c:2:13: warning: null character(s) ignored
../main.c:2:15: warning: null character(s) ignored
../main.c:2:17: warning: null character(s) ignored
../main.c:2:21: warning: null character(s) ignored
../main.c:2:23: warning: null character(s) ignored
../main.c:2:25: warning: null character(s) ignored
../main.c:2:27: warning: null character(s) ignored
../main.c:2:29: warning: null character(s) ignored
../main.c:2:31: warning: null character(s) ignored
../main.c:2:33: warning: null character(s) ignored
../main.c:2:35: warning: null character(s) ignored
../main.c:2:37: warning: null character(s) ignored
../main.c:3:1: warning: null character(s) ignored
../main.c:3:3: warning: null character(s) ignored
../main.c:3:4: error: invalid preprocessing directive #i
../main.c:3:5: warning: null character(s) ignored
../main.c:3:7: warning: null character(s) ignored
../main.c:3:9: warning: null character(s) ignored
../main.c:3:11: warning: null character(s) ignored
../main.c:3:13: warning: null character(s) ignored
../main.c:3:15: warning: null character(s) ignored
../main.c:3:17: warning: null character(s) ignored
../main.c:3:21: warning: null character(s) ignored
../main.c:3:23: warning: null character(s) ignored
../main.c:3:25: warning: null character(s) ignored
../main.c:3:27: warning: null character(s) ignored
../main.c:3:29: warning: null character(s) ignored
../main.c:3:31: warning: null character(s) ignored
../main.c:3:33: warning: null character(s) ignored
../main.c:3:35: warning: null character(s) ignored
../main.c:3:37: warning: null character(s) ignored
../main.c:3:39: warning: null character(s) ignored
../main.c:3:41: warning: null character(s) ignored
../main.c:3:43: warning: null character(s) ignored
../main.c:3:45: warning: null character(s) ignored
../main.c:3:47: warning: null character(s) ignored
../main.c:3:49: warning: null character(s) ignored
../main.c:3:51: warning: null character(s) ignored
../main.c:3:53: warning: null character(s) ignored
../main.c:3:55: warning: null character(s) ignored
../main.c:3:57: warning: null character(s) ignored
../main.c:3:59: warning: null character(s) ignored
../main.c:3:61: warning: null character(s) ignored
../main.c:3:63: warning: null character(s) ignored
../main.c:3:65: warning: null character(s) ignored
../main.c:3:67: warning: null character(s) ignored
../main.c:3:69: warning: null character(s) ignored
../main.c:3:71: warning: null character(s) ignored
../main.c:3:73: warning: null character(s) ignored
../main.c:4:1: warning: null character(s) ignored
../main.c:5:1: warning: null character(s) ignored
../main.c:5:3: warning: null character(s) ignored
../main.c:5:5: warning: null character(s) ignored
../main.c:5:7: warning: null character(s) ignored
../main.c:5:11: warning: null character(s) ignored
../main.c:5:13: warning: null character(s) ignored
../main.c:5:15: warning: null character(s) ignored
../main.c:5:17: warning: null character(s) ignored
../main.c:5:19: warning: null character(s) ignored
../main.c:5:21: warning: null character(s) ignored
../main.c:5:23: warning: null character(s) ignored
../main.c:5:25: warning: null character(s) ignored
../main.c:5:27: warning: null character(s) ignored
../main.c:5:29: warning: null character(s) ignored
../main.c:5:31: warning: null character(s) ignored
../main.c:6:1: warning: null character(s) ignored
../main.c:6:5: warning: null character(s) ignored
../main.c:6:7: warning: null character(s) ignored
../main.c:6:9: warning: null character(s) ignored
../main.c:6:11: warning: null character(s) ignored
../main.c:6:13: warning: null character(s) ignored
../main.c:6:15: warning: null character(s) ignored
../main.c:6:17: warning: null character(s) ignored
../main.c:6:19: warning: null character(s) ignored
../main.c:6:21: warning: null character(s) ignored
../main.c:6:23: warning: null character(s) ignored
../main.c:6:25: warning: null character(s) ignored
../main.c:6:27: warning: null character(s) ignored
../main.c:6:29: warning: null character(s) ignored
../main.c:6:31: warning: null character(s) ignored
../main.c:6:33: warning: null character(s) ignored
../main.c:6:35: warning: null character(s) ignored
../main.c:7:1: warning: null character(s) ignored
../main.c:8:1: warning: null character(s) ignored
../main.c:8:5: warning: null character(s) ignored
../main.c:8:7: warning: null character(s) ignored
../main.c:8:9: warning: null character(s) ignored
../main.c:8:11: warning: null character(s) ignored
../main.c:8:13: warning: null character(s) ignored
../main.c:8:15: warning: null character(s) ignored
../main.c:8:17: warning: null character(s) ignored
../main.c:8:19: warning: null character(s) ignored
../main.c:8:21: warning: null character(s) ignored
../main.c:8:23: warning: null character(s) ignored
../main.c:8:25: warning: null character(s) ignored
../main.c:8:27: warning: null character(s) ignored
../main.c:8:29: warning: null character(s) ignored
../main.c:8:31: warning: null character(s) ignored
../main.c:8:33: warning: null character(s) ignored
../main.c:8:35: warning: null character(s) ignored
../main.c:8:37: warning: null character(s) ignored
../main.c:8:39: warning: null character(s) ignored
../main.c:8:41: warning: null character(s) ignored
../main.c:8:43: warning: null character(s) ignored
../main.c:8:45: warning: null character(s) ignored
../main.c:8:47: warning: null character(s) ignored
../main.c:8:49: warning: null character(s) ignored
../main.c:8:51: warning: null character(s) ignored
../main.c:8:53: warning: null character(s) ignored
../main.c:8:55: warning: null character(s) ignored
../main.c:8:57: warning: null character(s) ignored
../main.c:8:59: warning: null character(s) ignored
../main.c:8:61: warning: null character(s) ignored
../main.c:8:63: warning: null character(s) ignored
../main.c:8:65: warning: null character(s) ignored
../main.c:9:1: warning: null character(s) ignored
../main.c:10:1: warning: null character(s) ignored
../main.c:10:5: warning: null character(s) ignored
../main.c:10:7: warning: null character(s) ignored
../main.c:10:9: warning: null character(s) ignored
../main.c:10:11: warning: null character(s) ignored
../main.c:10:13: warning: null character(s) ignored
../main.c:10:15: warning: null character(s) ignored
../main.c:10:17: warning: null character(s) ignored
../main.c:10:19: warning: null character(s) ignored
../main.c:10:21: warning: null character(s) ignored
../main.c:10:23: warning: null character(s) ignored
../main.c:10:25: warning: null character(s) ignored
../main.c:10:27: warning: null character(s) ignored
../main.c:10:29: warning: null character(s) ignored
../main.c:10:31: warning: null character(s) ignored
../main.c:10:33: warning: null character(s) ignored
../main.c:10:35: warning: null character(s) ignored
../main.c:10:37: warning: null character(s) ignored
../main.c:10:39: warning: null character(s) ignored
../main.c:10:41: warning: null character(s) ignored
../main.c:10:43: warning: null character(s) ignored
../main.c:10:45: warning: null character(s) ignored
../main.c:11:1: warning: null character(s) ignored
../main.c:12:1: warning: null character(s) ignored
../main.c:13:1: warning: null character(s) ignored
../main.c:13:3: warning: null character(s) ignored
make: *** [main.o] Erreur 1


Ca fait un moment que je suis sur le problème, peut être qu'un oeil extérieur m'aidera à y voir plus clair.

Merci d'avance pour votre aide :)
Publicité
Le 26 mars 2010 à 16:07:40
Le 26 mars 2010 à 16:18:51

Bonjour,

Pourquoi mets-tu un void en paramètre de ta fonction main ?
Le 26 mars 2010 à 16:22:58

Citation : djidi6

Bonjour,

Pourquoi mets-tu un void en paramètre de ta fonction main ?


Que devrait-il mettre ?

Bon après je sais pas tellement où est le problème...
Vu comme ça, ça me paraît être une erreur dans l'encodage du fichier source.
Le 26 mars 2010 à 16:24:49

Bah moi j'aurais rien mis du tout. :euh:
Le 26 mars 2010 à 16:26:50

Citation : djidi6

Bah moi j'aurais rien mis du tout. :euh:


Pas bien...
Le 26 mars 2010 à 16:27:18

Nouveau problème -> Nouveau topic. ;)
Le 26 mars 2010 à 16:29:48

hum, tu n'aurais pas fais un copier coller qui serait mal passé ?
(et qui t'aurait inclus des caracteres bizarres ?)
Le 26 mars 2010 à 16:32:26

Citation : Merkil

Vu comme ça, ça me paraît être une erreur dans l'encodage du fichier source.


Oui, les deux premiers caractères, '\376' et '\377', soit 0xFE et 0xFF, me semblent être les http://en.wikipedia.org/wiki/Byte_order_mark d'un fichier UTF-16. Il me semble qu'UTF-16 expliquerait aussi tous les caractères nuls.
Le 26 mars 2010 à 18:13:03

Citation : hibalum

hum, tu n'aurais pas fais un copier coller qui serait mal passé ?
(et qui t'aurait inclus des caracteres bizarres ?)



Effectivement, au départ j'avais fait un copié-collé, et j'ai recopié mon programme à la main, ce qui n'a pas résolu le problème.

Pour ce qui est de l'encodage, c'est quelque chose qu'il faut régler dans la config de l'IDE ??

EDIT : Effectivement, le problème venait bien de l'encodage du fichier, il m'a suffit de passer d'UTF8 à UTF16. Pour info, ca se fait dans les paramètres du projet sous Eclipse.

Merci à tous pour votre aide :)

Erreur de compilation

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown