Я пытаюсь скомпилировать программу, работающую на сервере HP UX в Red Hat Linux.
Он использует библиотеку xerces-c для анализа файлов xml. Компиляция в порядке, но когда я пытаюсь ее запустить, я получаю следующее сообщение
./a.out: ошибка при загрузке общих библиотек: libxerces-c.so.28: невозможно открыть общий объектный файл: нет такого файла или каталога
Я написал очень простую программу, чтобы попытаться понять, что происходит:
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/TransService.hpp>
#include <xercesc/parsers/SAXParser.hpp>
#include <xercesc/util/OutOfMemoryException.hpp>
int main(int argc, char* argv[])
{
return 0;
}
И скомпилировал так:
g++ test.cpp -L./xml/xerces-c
8_0/lib -lxerces-c -I./xml/xerces-clib]$ ls libxerces-c.a libxerces-c.so.28 libxerces-depdom.a libxerces-depdom.so.28 libxerces-c.so libxerces-c.so.28.0 libxerces-depdom.so libxerces-depdom.so.28.0
8_0/includelib]$ ls libxerces-c.a libxerces-c.so.28 libxerces-depdom.a libxerces-depdom.so.28 libxerces-c.so libxerces-c.so.28.0 libxerces-depdom.so libxerces-depdom.so.28.0
Удивительно, но файл действительно существует:
lib]$ ls
libxerces-c.a libxerces-c.so.28 libxerces-depdom.a libxerces-depdom.so.28
libxerces-c.so libxerces-c.so.28.0 libxerces-depdom.so libxerces-depdom.so.28.0
Есть предположения ? Я чувствую, что что-то упускаю, но не знаю что.
Заранее спасибо.