2013-07-01 2 views
2

lors de la compilation croisée (application) "bras-eabi-gcc -static -o bonjour hello.c" erreur suivante se produisantCROSS COMPILE: bras-eabi-gcc -static -o bonjour hello.c

hello.c:1:18: error: stdio.h: No such file or directory 
hello.c:2:19: error: stdlib.h: No such file or directory 
hello.c:3:19: error: string.h: No such file or directory 
hello.c:4:19: error: fcntl.h: No such file or directory 
hello.c:5:20: error: unistd.h: No such file or directory 
hello.c:6:23: error: sys/types.h: No such file or directory 
hello.c:7:22: error: sys/stat.h: No such file or directory 
hello.c:8:23: error: sys/ioctl.h: No such file or directory 

` Je suis capable de croiser des modules de noyau de compilation.

+1

Si cela compile avec votre compilateur hôte (plutôt que compilateur croisé), il semblerait que vous ayez une installation de compilateur croisée cassée, ou au moins vos chemins d'inclusion ne sont pas définis. Une autre possibilité est que votre fichier source est défectueux dans la mesure où vous avez spécifié par erreur tous ces éléments du système avec des guillemets plutôt que des chevrons. –

+1

Les guillemets doivent également fonctionner correctement pour les fichiers d'inclusion du système. –

+0

Je pense que la compilation croisée ne trouvera pas ces fichiers head dans votre PATH système, ce qui pour le compilateur 'gcc' normal. cross compiler devrait avoir son propre PATH peut-être –

Répondre

1

si vous essayez de programme utilisateur compilation croisée dans la machine linux, vous ne devez pas utiliser mais arm-linux-gnueabi-gcc.

+0

Oui, arm-eabi-gcc est un toolchain de métal nu: il n'a pas de libc. Ainsi, les en-têtes et la bibliothèque C sont manquants et EnterKEY ne peut pas compiler un programme d'espace utilisateur. –