#1 Le 15/04/2007, à 20:44
- 1h0ma5
Résolu [C] Fichier à inclure inexistant
Bonjour,
le problème est résumé dans l'intitulé, en effet lorsque cette inclusion :
#include <asm/io.h>
Dans l'erreur de compilation suivante :
In file included from /usr/include/asm/io.h:7,
from exempleRole.c:3:
/usr/include/asm-i386/io.h:4:26: error: linux/string.h: Aucun fichier ou répertoire de ce type
Je n'ai pas trouvé d'erreurs similaires sur le net et en faisant une recherche des fichier de la forme string.h dans /usr/include, j'en obtiens plusieurs mais je n'ai pas voulu entreprendre des modifications à ce niveau.
Quelqu'un aurait une solution ?
Merci d'avance
1h0ma5
Dernière modification par 1h0ma5 (Le 16/04/2007, à 11:28)
Hors ligne
#2 Le 15/04/2007, à 22:31
- gene69
Re : Résolu [C] Fichier à inclure inexistant
peut être qu'ajouter un lien symbolique vers le fichier string.h suffierai à fixer le probleme. Laisse un rapport dans le launchpad.
Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion
Hors ligne
#3 Le 15/04/2007, à 22:39
- 1h0ma5
Re : Résolu [C] Fichier à inclure inexistant
Il semble falloir préférer cette ligne :
#include <sys/io.h>
Je poste la page qui m'a permis de résoudre le problème ou plutôt de le détourner.
Voila,
Merci quand même
1h0ma5
Hors ligne
#4 Le 15/04/2007, à 23:23
- slapierre
Re : Résolu [C] Fichier à inclure inexistant
Effectivement la librairie <asm/io.h> est utilisée pour la programmation de modules, donc les fonctions fournies roulent en kernel space (les librairies sont situées, par exemple, dans /usr/src/linux-headers-2.6.20-15-generic) , tandis que ton programme, qui tourne en user space, doit utiliser une fonction de la librairie standard, librairie qui est située généralement dans /usr/include. Pour plus d'infos sur les modules :
> Linux Devices Drivers : http://lwn.net/Kernel/LDD3/
Simon
"Le spectre de la folie nous empêchera-t-il de hisser l'étendard de l'imagination?" - André Breton
Hors ligne