基于Poco的二进制文件在运行时无法找到库

时间:2014-06-16 17:20:03

标签: linux runtime poco dynamic-linking poco-libraries

我使用Poco编写了一个小型HTTPServer应用程序,我在运行时遇到以下错误:

  

factoryProject> ./httpServer ./httpServer:加载共享时出错   库:libPocoNet.so.16:无法打开共享对象文件:没有这样的   文件或目录

我的库在编译期间成功链接,因为它们位于我使用-L/some/path在make文件中指向的特定目录中。

我已经阅读了ldconfig命令并且声明它通常在/usr/lib中查找库,但是我没有管理员可以将Poco库添加到该目录中。

如何指向自定义库目录,以便ld在运行时加载它?

1 个答案:

答案 0 :(得分:0)

我已经研究了一些最受欢迎的解决方案add a config file for ldconfig to pickup,但这个解决方案似乎很复杂,我不想在这个公共服务器上添加配置文件。

对我来说最简单的解决方案是更新以下环境变量:

  

echo $ LD_LIBRARY_PATH

LD_LIBRARY_PATH environment variable可以列出在运行时和setenv命令之后首先搜索库的目录我有一个有效的HTTP服务器!