xerces-c 2.8:加载共享库时出错

Tom*_*Tom 2 c c++ xml linker xerces-c

我正在尝试编译在Red Hat Linux上的HP UX服务器上运行的程序.

它使用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;
}
Run Code Online (Sandbox Code Playgroud)

并编译它像这样:

g ++ test.cpp -L./xml/xerces-c_2_8_0/lib -lxerces -c -I./xml/xerces-c_2_8_0/include

令人惊讶的是,文件实际上存在:

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
Run Code Online (Sandbox Code Playgroud)

有什么想法吗 ?我觉得我错过了什么,但不知道是什么.

提前致谢.

cat*_*alk 6

运行ldd a.out并查看链接器是否可以解析正确的.so文件

导出LD_LIBRARY_PATH以包含当前文件夹(与PATH变量的方式相同)并再次检查ldd