我正在尝试编译在Red Hat Linux上的HP UX服务器上运行的程序。
它使用xerces-c库来解析xml文件。编译可以,但是当我尝试运行它时,出现以下消息
我编写了一个非常简单的程序来尝试了解发生了什么:
#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;
}
并像这样编译它:
出乎意料的是,文件实际上在那里:
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
有什么想法吗 ?我觉得我想念什么,但不知道是什么。
提前致谢。
最佳答案
运行ldd a.out
并查看链接器是否可以解析正确的.so文件
导出LD_LIBRARY_PATH
以包括当前文件夹(以与PATH变量相同的方式)并再次检查ldd
关于c++ - xerces-c 2.8:加载共享库时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1722386/