Компилятор не может найти 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