[Logo]
LUA Форум
  [Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
ltxml & tinyxpath/tinyxml  XML
Индекс форума » LUA: Общие вопросы
Автор Сообщение
philpirj
Новичок

Зарегистрирован: 29/01/2010 01:02:55
Сообщений: 9
Оффлайн

Испытываю трудности со сборкой обозначеных штук.
http://luaforge.net/projects/ltxml/
http://tinyxpath.sourceforge.net/

Нужен в итоге парсер xml с поддержкой xpath, сейчас пользуюсь связкой luaxpath и luaexpat
http://luaxpath.luaforge.net/
http://www.keplerproject.org/luaexpat/

но поддержка самого xpath'а слабовата, например
//form[@name='abc']/input[@name='user']
не ищет, ну итп по мелочи
Терпимо, но хотелось бы не переписывать-дописывать luaxpath в начале же своей lua-карьеры

Так вот, под OS X make у ltxml затыкается вот на этом месте:
$ g++ -bundle -o ltxml.so ltxml.o -L../tinyxpath_1_3_1 -ltinyxpath -ltinyxml
/usr/bin/ld: can't locate file for: -ltinyxpath
collect2: ld returned 1 exit status
make: *** [ltxml] Error 1

-bundle - пришлось вставить вместо -shared, который не поддерживается на OS X
если запускать с -dynamiclib, то вот так:
$ gcc -dynamiclib -o ltxml.so ltxml.o -L../tinyxpath_1_3_1 -ltinyxpath -ltinyxml
/usr/bin/libtool: can't locate file for: -ltinyxpath
/usr/bin/libtool: file: -ltinyxpath is not an object file (not allowed in a library)
/usr/bin/libtool: can't locate file for: -ltinyxml
/usr/bin/libtool: file: -ltinyxml is not an object file (not allowed in a library)

я так понимаю, что и ld и libtool ищут файлы с расширением .a, а у tinyxpath/tinyxml собирает файлы .o
что с ними делать и откуда брать .a ?

и явно какое-то несоответствие имён файлов, скажем tinyxml.o есть, а вот tinyxpath.o - нету, там вместо него
с десяток разных xpath_*.o файлов

я так понимаю, что под linux должна быть примерно та же история, кроме как с опцией -shared
как собирать-то?

мастер-фломастер
[Email] [WWW] [ICQ]
B4rr4cuda
Постоянный посетитель
[Avatar]

Зарегистрирован: 14/01/2008 14:58:13
Сообщений: 48
Оффлайн

Компилируем tinyxpath

затем





Компилируем ltxml:
редактируем Makefile. В TYNYXML_INC указываем путь к сорцам tynyxpath. TYNYXML_INC=/usr/lib
и выполняем make.
Полученную shared библиотеку (so файл) тоже копируем в /usr/lib и снова выполняем ldconfig из под рута.
Вот и все собсно.
 
Индекс форума » LUA: Общие вопросы
Перейти:   
Powered by JForum 2.1.8 © JForum Team