Компилирование или использование libxml с использованием C на OSX - PullRequest
3 голосов
/ 30 марта 2011

Если я хочу скомпилировать исходный файл ac, который использует libxml, как мне настроить libxml на mac osx, чтобы мой исходный файл просто правильно компилировался и был готов к запуску?

Я использовал XCode досейчас, но перешли на TextMate & Terminal. Нужно ли создавать make-файл, если я хочу использовать libxml или как это будет работать?

Спасибо

РЕДАКТИРОВАТЬ:

Я использую текущий импорт

#include <libxml/xmlmemory.h>
#include <libxml/parser.h>

Ответы [ 4 ]

5 голосов
/ 30 марта 2011

Заголовки для дистрибутива libxml2 на 10.6 находятся в /usr/include/libxml2/. К сожалению, только часть /usr/include находится в пути поиска заголовка системы по умолчанию. Таким образом, вам нужно явно включить его в командную строку (или ваш #includes также должен включать дополнительную папку libxml2). Сама библиотека находится на обычном /usr/lib/libxml2.dylib.

Таким образом, используйте следующую команду для компиляции вашей программы:

gcc source.c -I/usr/include/libxml2 -lxml2 -o output
3 голосов
/ 30 марта 2011

Настройка не требуется. Добавьте -lxml2 к вашей команде ссылки.

Если у вас просто файл с одним исходным кодом "project":

gcc yourSourceFile.c -I/usr/include/libxml2 -lxml2 -o executableProgram
2 голосов
/ 27 июля 2015

Я голосую за ответ Kjp с простой модификацией. Как насчет включения xml2-config в саму команду gcc -

g ++ -o имя_бина `xml2-config --cflags` main.c` xml2-config --libs`

Это должно работать, даже если libxml не установлен в месте по умолчанию ИЛИ имя флага будет изменено (в будущем).

CHEERS!

2 голосов
/ 08 июля 2012

Вы также можете xml2-config, чтобы использовать флаги компиляции.

kjp@vbox:~/Dev/ScratchDir$ xml2-config --cflags --libs
-I/usr/include/libxml2
-lxml2
kjp@vbox:~/Dev/ScratchDir$
...