Je suis sur Debian 8 (Jessie), 64 bits. J'ai installé libxml2-dev
, qui se trouve maintenant dans /usr/include/libxml2/libxml
.
Mais quand je le fais (tout comme le dit libxml
docs)
#include <libxml/parser.h>
Je ne reçois que lors de la compilation (avec gcc
)
fatal error: libxml/parser.h: no such file or directory
Remarques: Sur une autre machine, avec une ancienne Suse 64 bits, où libxml2-dev
se trouve exactement dans le même chemin et où aucun autre fichier vars d'environnement n'est défini par rapport à la nouvelle Debian, cela fonctionne parfaitement. Un problème est survenu lors de la migration d'un ordinateur à un autre en utilisant exactement les mêmes fichiers. Toutes autres bibliothèques -dev
que j'ai juste besoin de travailler (avec leur #include <path>
documenté) après la migration (elles étaient toutes installées avec apt-get
), seul libxml2-dev
n'est pas trouvé lors de la compilation.
Dois-je faire autre chose pour rendre libxml2-dev
visible?
Essayez de compiler avec une inclusion explicite où le fichier parser.h
est, par exemple, comme ceci
g++ -I/usr/include/libxml2/
Les variables d'environnement suivantes peuvent également être utilisées pour la recherche de fichiers d'en-tête
CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH
Plus d'informations ici
si vous l'avez installé: Sudo apt-get install libxml2-dev libxml2-doc
allez dans /usr/include/libxml2
et copiez ou déplacez tout le contenu de ce dossier à un niveau inférieur: cp -R libxml/ ../
Après cela, pour moi, cela fonctionne.
Vous devriez utiliser pkg-config
pour passer des paramètres au compilateur. Comme ça
g++ `pkg-config --cflags libxml-2.0` example.c -o example.o
et à l'éditeur de liens:
g++ `pkg-config --libs libxml-2.0` example.o -o example