it-swarm.com.de

Der Compiler kann libxml/parser.h nicht finden

Ich bin auf Debian 8 (Jessie), 64 Bit. Ich habe libxml2-dev installiert, das jetzt in /usr/include/libxml2/libxml sitzt.

Aber wenn ich das tue (genau wie libxml docs sagen)

#include <libxml/parser.h>

Bekomme ich nur beim compilieren (mit gcc)

fatal error: libxml/parser.h: no such file or directory

Hinweise: Auf einem anderen Rechner mit einer alten 64-Bit-Suse, bei der libxml2-dev auf demselben Pfad liegt und keine anderen Umgebungsvariablen im Vergleich zum neuen Debian festgelegt sind, funktioniert das einwandfrei. Bei der Migration von einem Computer zu einem anderen Computer mit denselben Makefiles ist ein Problem aufgetreten. Alle andere -dev-Bibliotheken, die ich nach der Migration gerade bearbeitet habe (mit ihrem dokumentierten #include <path>) (sie wurden alle mit apt-get installiert), nur libxml2-dev wird beim Kompilieren nicht gefunden.

Muss ich noch etwas tun, um libxml2-dev sichtbar zu machen?

9
Foo Bar

Versuchen Sie, mit expliziter Inklusion zu kompilieren, wo sich die parser.h-Datei befindet, d. H

g++ -I/usr/include/libxml2/


Folgende Umgebungsvariablen können auch zum Nachschlagen von Header-Dateien verwendet werden

CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH

Weitere Informationen hier

6
deimus

wenn Sie es installiert haben: Sudo apt-get install libxml2-dev libxml2-doc gehen Sie in /usr/include/libxml2 und kopieren oder verschieben Sie den gesamten Inhalt aus diesem Ordner auf einer darunter liegenden Ebene: cp -R libxml/ ../ Danach funktioniert es für mich.

8
Vlad

Sie sollten pkg-config verwenden, um Parameter an den Compiler zu übergeben. So was

g++ `pkg-config --cflags libxml-2.0` example.c -o example.o

und zu linker:

g++ `pkg-config --libs libxml-2.0` example.o -o example
0
BЈовић