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