Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
dBuSh83
5 / 5 / 0
Регистрация: 10.07.2013
Сообщений: 99
#1

Компиляция библиотеки libxml под c++ - C++

31.01.2014, 11:24. Просмотров 1646. Ответов 32
Метки нет (Все метки)

Под libxml есть библиотека xmlwrapp позволяющая работать с libxml под с++. Проблема в ее компиляции: по адресу
Кликните здесь для просмотра всего текста
http://libxmlplusplus.sourceforge.net/
скачал исходники и с помощью msbuild собрал через master.proj либы, подключил к своему проекту, но он ругается на "undefined reference" вызываемых функций.
Подключил вроде правильно (работаю под qt, но думаю это не имеет значения), сами libxml работают вполне. В самих либах остались ссылки на obj файлы проекта xmlwrapp.

Прошу помощи, в чем может быть проблема?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2014, 11:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Компиляция библиотеки libxml под c++ (C++):

Компиляция dll библиотеки - C++
Как правильно скомпилировать dll библиотеку, чтобы имена методов не изменялись? Например, у меня есть метод с именем Java_Test_test, а...

Компиляция библиотеки через make.exe - C++
Скачал исходный код библиотеки oglft-0.9, скачал make-3.81.exe, не могу понять как скомпилировать, подскажите. В папке есть файлы ...

Компиляция, линковка, статические и динамические библиотеки - C++
Доброго вам времени суток. Обращаюсь к вам со списком близких по теме вопросов. Если вам не сложно, хотя бы напишите URL или книгу, где об...

Компиляция под Windows x64 - C++
Здравствуйте есть 2 компьютера на 1 стоит х32 на котором компилируется программа а на другом х64 винда на котором нужно программу...

Компиляция под 32 битный процессор - C++
В общем название темы говорит само за себя. У меня стоит Win 7 64x разрядная и MS VS 2013. Когда я компилирую приложение, то оно спокойно...

Компиляция серьезной графики под Mingw - C++
Возьмем для примера gdi+ (c всем остальным у меня получалось абсолютно тоже. только winapi из windows.h пока могу) пишу элементарный...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DrOffset
7158 / 4299 / 972
Регистрация: 30.01.2014
Сообщений: 7,106
18.02.2014, 17:12 #16
Цитата Сообщение от dBuSh83 Посмотреть сообщение
Не знаю, выносится она или нет, но для других функций она используется.
Я сейчас собрал libxml2 (2.9.0), libxslt и libexslt (1.1.28). Во-первых все собралось без ошибок (mingw 4.7.2, MSYS). Во-вторых я посмотрел таблицу экспорта у получившихся библиотек и функцию xsltEvalAVT там нашел. Значит у тебя один из двух вариантов:
1) Что-то не так пошло в сборке и функция не попала в экспорт (например где-то оказались более старые версии заголовочных файлов libxslt и они подцепились вместо тех, что шли в исходниках).
2) Каким либо образом цепляется другая версия libxslt вместо нужной.
1
Вложения
Тип файла: rar xmllibs-mingw32-4.7.2.rar (637.5 Кб, 9 просмотров)
dBuSh83
5 / 5 / 0
Регистрация: 10.07.2013
Сообщений: 99
20.02.2014, 14:14  [ТС] #17
Цитата Сообщение от DrOffset Посмотреть сообщение
Что-то не так пошло в сборке и функция не попала в экспорт (например где-то оказались более старые версии заголовочных файлов libxslt и они подцепились вместо тех, что шли в исходниках).
Исходники с офф сайта брал - не должно быть заголовочников кривых.
Цитата Сообщение от DrOffset Посмотреть сообщение
Каким либо образом цепляется другая версия libxslt вместо нужной.
Вот это уже не знаю.
Цитата Сообщение от DrOffset Посмотреть сообщение
Я сейчас собрал libxml2 (2.9.0), libxslt и libexslt (1.1.28). Во-первых все собралось без ошибок (mingw 4.7.2, MSYS). Во-вторых я посмотрел таблицу экспорта у получившихся библиотек и функцию xsltEvalAVT там нашел.
А как под msys их собирать? Что-то читал по этому поводу, но толком не понял.
0
DrOffset
7158 / 4299 / 972
Регистрация: 30.01.2014
Сообщений: 7,106
20.02.2014, 14:37 #18
Цитата Сообщение от dBuSh83 Посмотреть сообщение
Исходники с офф сайта брал - не должно быть заголовочников кривых.
Так не в этом дело. Может уже есть установленная версия где-то и он ее видит, вместо той, которая нужна.
Предположение просто, такое бывает иногда.

Цитата Сообщение от dBuSh83 Посмотреть сообщение
А как под msys их собирать? Что-то читал по этому поводу, но толком не понял.
В домашний каталог пользователя в msys распаковать скачанные архивы (msys/home/username - username - имя юзера в системе).
Запустить msys.
Перейти в первый архив, сделать
./configure --prefix=/usr
mingw32-make
mingw32-make install
В каталоге lib после этого будет лежать собранная библиотека импорта, в bin - dll`ка, в include - заголовочные файлы.
Аналогично со второй библиотекой.
1
dBuSh83
5 / 5 / 0
Регистрация: 10.07.2013
Сообщений: 99
20.02.2014, 15:09  [ТС] #19
Цитата Сообщение от DrOffset Посмотреть сообщение
Так не в этом дело. Может уже есть установленная версия где-то и он ее видит, вместо той, которая нужна.
Предположение просто, такое бывает иногда.
Понял. Поискал, вроде ничего не нашел, но тоже, кто его знает, как она прописана может быть.

И еще вот такой вопрос: для чего *.la файлы, вроде и без них нормально прикручиваются?
0
DrOffset
7158 / 4299 / 972
Регистрация: 30.01.2014
Сообщений: 7,106
20.02.2014, 15:13 #20
Цитата Сообщение от dBuSh83 Посмотреть сообщение
И еще вот такой вопрос: для чего *.la файлы, вроде и без них нормально прикручиваются?
Да это текстовые файлы. Там прописаны опции для линкера (la - если мне не изменяет склероз - это linker attributes). Можно без них.
1
dBuSh83
5 / 5 / 0
Регистрация: 10.07.2013
Сообщений: 99
21.02.2014, 13:41  [ТС] #21
Под msys при сборке libxml2 ругается на undefined reference __xmlFree...

Может это карма?!
0
DrOffset
7158 / 4299 / 972
Регистрация: 30.01.2014
Сообщений: 7,106
21.02.2014, 15:10 #22
Цитата Сообщение от dBuSh83 Посмотреть сообщение
Может это карма?!
К сожалению я не медиум, карму править не умею. Чем-то еще могу помочь?
0
dBuSh83
5 / 5 / 0
Регистрация: 10.07.2013
Сообщений: 99
21.02.2014, 15:37  [ТС] #23
Пробовал подставить в проект эту библиотеку - результат тот же что и когда пробовал работать под студийной библиотекой - вылет. Придется думать дальше.
Цитата Сообщение от DrOffset Посмотреть сообщение
Чем-то еще могу помочь?
Может подскажете, какую еще библиотеку можно использовать для xml/xslt под с++, желательно с поддержкой xslt 2.0?
Все которые находил они либо платные(зато есть поддержка), либо морально устарели, либо это libxml/libxslt который ни как не хочет у меня работать.
0
DrOffset
7158 / 4299 / 972
Регистрация: 30.01.2014
Сообщений: 7,106
21.02.2014, 15:43 #24
Цитата Сообщение от dBuSh83 Посмотреть сообщение
Может подскажете, какую еще библиотеку можно использовать для xml/xslt под с++, желательно с поддержкой xslt 2.0?
Могу. Только надо:
Знать задачу
Среду разработки (все-таки студия иди mingw?) и язык


Ну а конкретно с libxml - это отличная библиотека, просто на каком-то этапе что-то делается не так...
0
dBuSh83
5 / 5 / 0
Регистрация: 10.07.2013
Сообщений: 99
21.02.2014, 16:02  [ТС] #25
Цитата Сообщение от DrOffset Посмотреть сообщение
Знать задачу
Нужно применить xsl трансформации к xml и получить на выходе html код.
Цитата Сообщение от DrOffset Посмотреть сообщение
Среду разработки (все-таки студия иди mingw?) и язык
Qt 5.2.1 под mingw. Язык, соответсвенно С++.
Цитата Сообщение от DrOffset Посмотреть сообщение
Ну а конкретно с libxml - это отличная библиотека, просто на каком-то этапе что-то делается не так...
Не сомневаюсь, что это отличная библиотека, только вот работать под ней не хватает знаний и прямоты рук. Поэтому уже сомневаюсь вообще насчет хоть каких-то библиотек.

Добавлено через 8 минут
Я бы использовал нативные средсва qt для данного вопроса, но у qxmlparser есть неразрешенная проблема, когда он не может обрабатывать используя большие xslt файлы.
0
DrOffset
7158 / 4299 / 972
Регистрация: 30.01.2014
Сообщений: 7,106
21.02.2014, 16:04 #26
Цитата Сообщение от dBuSh83 Посмотреть сообщение
Нужно применить xsl трансформации к xml и получить на выходе html код.
Вот еще достойная реализация.
0
dBuSh83
5 / 5 / 0
Регистрация: 10.07.2013
Сообщений: 99
21.02.2014, 16:45  [ТС] #27
Пробовал просто поработать с библиотекой libxml2, скомпилированной вами - она для работы просит zlib, в то время как скомпилированная мной под mingw работает и без нее. Из-за чего моет быть такое расхождение?

Цитата Сообщение от DrOffset Посмотреть сообщение
Вот еще достойная реализация.
Xalan я уж рассматривал в качестве альтернативы, но опять же могут возникнуть проблемы с компиляцией. И еще он вроде только xslt 1.0 поддерживает.
0
DrOffset
7158 / 4299 / 972
Регистрация: 30.01.2014
Сообщений: 7,106
21.02.2014, 16:47 #28
Цитата Сообщение от dBuSh83 Посмотреть сообщение
Из-за чего моет быть такое расхождение?
Да это скрипт configure ее подцепил, т.к. она у меня установлена.
0
dBuSh83
5 / 5 / 0
Регистрация: 10.07.2013
Сообщений: 99
21.02.2014, 17:23  [ТС] #29
Я скомпилировал zlib, libicon - докинул - и все заработало. Причем он после zlib явно заругался на libicon( но на zlib qt не ругалась до этого) - одно словл - магия какая-то! Попробую еще без zlib перекомпилировать, авось получится. Главное - заработало! =)
0
DrOffset
7158 / 4299 / 972
Регистрация: 30.01.2014
Сообщений: 7,106
21.02.2014, 19:00 #30
Цитата Сообщение от dBuSh83 Посмотреть сообщение
магия какая-то
Да не, не магия Просто iconv там используется для поддержки кодировок. Т.к. она у меня тоже установлена была, он и ее подцепил, если нужно я могу скинуть свои версии этих библиотек.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 19:00
Привет! Вот еще темы с ответами:

Компиляция проекта под linux из windows - C++
Скорее всего раздел не подходит, просто не знаю к какому это относится больше... Вот есть проект Visual Studio C++, это библиотека для...

Компиляция кода под конкретную ОС - C++
Есть ОС Windows, Linux, Android. Хочу понять базовые знание по тому как делается библиотека работающая на всех ОС. Допустим пишем...

Компиляция простейшего кода на C++ под GNU/Linux - C++
Проблема в компиляции простейшего кода на c++ под Linux: void hello(){ rintf("Hello!\n"); return 0; } Вот такая...

Проверка валидности в libxml++ - C++
Подскажите, как с помощью этой библиотеки можно проверить валидность документа на соответствие XML. Вариант через исключение при создании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.02.2014, 19:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru