Добавление libxml в проект Eclipse в Red Hat - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть простой проект C ++, настроенный прямо сейчас, где я пытаюсь включить libxml2.Я работаю в Red Hat 7. Я прочитал различные посты о добавлении внешних библиотек в проект Eclipse C, см .:

В большинстве ответов говорится, что нужно добавить путь к библиотеке GCC Linker или что-то в этом роде.Проблема в том, что я не совсем уверен, где хранится мой libxml2, хотя я уверен, что он установлен.Ни одна из моих попыток при добавлении пути к библиотеке в настройках не сработала.Вот мой запрос, чтобы увидеть, где установлена ​​libxml2 А вот я просто просматриваю всю мою файловую систему, чтобы найти libxml2 .Я все еще довольно новичок в Red Hat, поэтому любая помощь будет принята с благодарностью.Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Вам не хватает символической ссылки libxml2.so, которая устанавливается только вместе с пакетом libxml2-devel.Поскольку libxml2 находится в стандартном месте, вам не нужно передавать дополнительные пути компоновщику.Если вы включите какой-либо из заголовков libxml2, вам придется добавить /usr/include/libxml2 в качестве пользовательского каталога включения (опция -I).

0 голосов
/ 13 февраля 2019

Вы можете использовать

ldconfig -p

, чтобы узнать расположение библиотек, т.е. myn выглядит следующим образом (fedora):

$ldconfig -p | egrep -i libxml
    libxml2.so.2 (libc6,x86-64) => /lib64/libxml2.so.2
    libxml2.so (libc6,x86-64) => /lib64/libxml2.so
    libxmlsec1.so.1 (libc6,x86-64) => /lib64/libxmlsec1.so.1
    libxmlsec1-openssl.so.1 (libc6,x86-64) => /lib64/libxmlsec1-openssl.so.1
    libxmlsec1-openssl.so (libc6,x86-64) => /lib64/libxmlsec1-openssl.so
    libxmlsec1-nss.so.1 (libc6,x86-64) => /lib64/libxmlsec1-nss.so.1
    libxmlsec1-nss.so (libc6,x86-64) => /lib64/libxmlsec1-nss.so
    libxmlrpc_xmltok.so.3 (libc6,x86-64) => /lib64/libxmlrpc_xmltok.so.3
    libxmlrpc_xmlparse.so.3 (libc6,x86-64) => /lib64/libxmlrpc_xmlparse.so.3
    libxmlrpc_util.so.4 (libc6,x86-64) => /lib64/libxmlrpc_util.so.4
    libxmlrpc_server_cgi.so.3 (libc6,x86-64) => /lib64/libxmlrpc_server_cgi.so.3
    libxmlrpc_server_abyss.so.3 (libc6,x86-64) => /lib64/libxmlrpc_server_abyss.so.3
    libxmlrpc_server.so.3 (libc6,x86-64) => /lib64/libxmlrpc_server.so.3
    libxmlrpc_openssl.so.1 (libc6,x86-64) => /lib64/libxmlrpc_openssl.so.1
    libxmlrpc_client.so.3 (libc6,x86-64) => /lib64/libxmlrpc_client.so.3
    libxmlrpc_abyss.so.3 (libc6,x86-64) => /lib64/libxmlrpc_abyss.so.3
    libxmlrpc.so.3 (libc6,x86-64) => /lib64/libxmlrpc.so.3
    libxml++-2.6.so.2 (libc6,x86-64) => /lib64/libxml++-2.6.so.2

Вот целые шаги, как добавить:

  1. Создать новый проект, используя new c/c++ project

  2. Выбрать c++ managed build

  3. Выберите hello world c++ project

  4. Введите название проекта

  5. Перейдите к properties -> c/c++ build -> settings

  6. Выбрать GCC C++ Compiler/Includes/Include Paths

  7. Добавить оба пути: /usr/include/libxml2/libxml и /usr/include/libxml2

  8. Выбрать GCC C++ Linker/Libraries/Libraries

  9. Добавить xml2

  10. Применить и закрыть

  11. Перестроить проект

...