![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| CyraxZ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 10.12.2006 Репутация: нет Всего: нет |
Уже две недели копаюсь с Xerces'ом. Никак не могу его заюзать...
1. Сначала скачал (http://xml.apache.org/xerces-c/download.cgi) архив с сырцами xerces-c-current.zip из раздела "Current Source Releases of Xerces-C". Попытался собрать группу проектов .bpg для BCB (как я понимаю, это Borland C++ Builder). Куча ошибок. Попытался собрать проект XercesLib.dll - тоже куча ошибок. Тем не менее, XercesLib.dll собрал, но предварительно пришлось сделать следующее: - исключить из файла проекта XercesLib.bpr файлы XTemplateComparator и XObjectComparator - добавить в проект XercesLib.bpr файл XMLInitializer (т.к. требовался для компиляции другими файлами) - закомментил строку "#include "winres.h" в файле Version.rc (Файл winres.h компилятор находил. Тем не менее, на строке "#include "winres.h" в файле Version.rc выходила ошибка "[RC Error] Version.rc(10)" - что не нравится компилятору - осталось загадкой...) Затем полученную dll'ку и lib-файл попытался заюзать. Кинул к своей проге XercesLib.lib и XercesLib.dll, включил в проект XercesLib. (Все нужные хидеры из сырцов подключил.) Компилю, запускаю. Прога выкидывает исключение EAccessViolation "Access Violation at address ... in module 'XERCESLIB.DLL' " на вызове любой функции из dll... Т.е., возможно, из-за файла Version.rc (инклуд которого я закомментировал) dll'ка скомпилилась или собралась коряво... Была мысль попробовать собрать в Borland Developer Studio, но, думаю, ситуация не изменится... 2. Затем из тех же сырцов попробовал скомпилить проект для Visual C++ 7.1. Поскольку у меня Visual Studio 2005 (8.0), то компилил и собирал в ней (ну, естественно предварительно файлы были переконвертены в 8-ю версию). Компилю - миллион ошибок в файле Version.rc (причём, только в нём)... Тоже была мысль попробовать Visual Studio 2003, но по-прежнему считаю, что ситуация не изменится. Этот хренов Version.rc всё портит... 3. С того же сайта из раздела "Current Binary Releases of Xerces-C (32 bit)" скачал архив с бинарниками xerces-c_2_7_0-windows_2000-msvc_60.zip (который Windows 2000 compiled with MSVC 6.0 SP3), т.к. других вариантов (для BCB, MSVC 7.1 и MSVC 8.0 не было). Там имеются следующие dll'ки: - xerces-c_2_7.dll - xerces-c_2_7D.dll - xerces-depdom_2_7.dll - xerces-depdom_2_7D.dll Чем они отличаются - не знаю (последние две, похоже, урезки) и следующие либы: - xerces-c_2.lib - xerces-c_2D.lib - xerces-depdom_2.lib - xerces-depdom_2D.lib (не понятно, куда 7-ку дели...) Юзаю xerces-c_2_7.dll с xerces-c_2.lib - выходит ошибка: Xerces-C_2.lib contains invalid OMF record, type 0x%02x (possibly COFF) Сконвертил () coff2omf.exe'ом в OMF (lib'у). Юзаю. Ошибки линковщика на всех вызовах функций из dll'ки: Unresolved external вызов_метода_класса referenced from объектник_файла_откуда_вызываются_методы Попробовал заюзать xerces-c_2_7D.dll и xerces-c_2D.lib, сконвертил - та же картина... 4. Взял сырцы. Попробовал подключить только нужные cpp-ники. Никак, поскольку эти нужные cpp-ники юзают хидеры других cpp-ников - и так в геом. прогрессии... Подключил все cpp-ники. Компилю. Ошибка в некоторых хидерах, что инклудится хидер, которого нет. Проверил - в сырцах его действительно нет... (какой именно - не помню, завтра смогу указать конкретно...) 5. Теперь думаю, чего делать дальше... Может, кто-нибудь нормально юзал этот Xerces... Как dll'ку с lib-файлом получали, или где доставали ? Если у кого имеются эти 2 файла (нормальные), просьба кинуть на [email protected]... |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Сделай lib из dll с помощью implib (кажется так зовется). Она входит в поставку BCB. С ней уже проблем быть не должно.
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
- xerces-c_2_7.dll - релиз-версия
- xerces-c_2_7D.dll - дебаг-версия xerces-depdom_2.dll - урезанная версия, использующая только DOM-модель -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |