Компилятор не может найти libxml / parser.ч

я на Debian 8 (Jessie), 64 бит. Я установил libxml2-dev, который теперь сидит в /usr/include/libxml2/libxml.

но когда я делаю (так же, как libxml документы говорят)

#include <libxml/parser.h>

я получаю только при компиляции (с gcc)

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

Примечания: на другой машине, со старым 64-битным Suse, где libxml2-dev сидит в том же самом пути, и никакие другие среды vars не установлены по сравнению с новым Debian, он работает отлично. Проблема возникла при переходе от одного к другому компьютер, использующий те же самые файлы Makefile. все другое -dev libs, которые мне нужны, просто работали (с их документированными #include <path>) после переноса (все они были установлены с apt-get), всего libxml2-dev не найден при компиляции.

мне нужно сделать что-нибудь еще, чтобы сделать libxml2-dev видны?

3 ответов


попробуйте скомпилировать с включением explicite, где parser.h файл есть, т. е. smth как это

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


следующие переменные среды также могут использоваться для поиска заголовочных файлов

CPATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH

узнать подробнее здесь


Если вы установили это: sudo apt-get install libxml2-dev libxml2-doc поехать в /usr/include/libxml2 и скопировать или переместить все содержимое из этой папки на уровень ниже: cp -R libxml/ ../ после этого для меня он работает.


вы должны использовать pkg-config для передачи параметров компилятору. Такой

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

и компоновщика:

g++ `pkg-config --libs libxml-2.0` example.o -o example