日期:2014-05-16  浏览次数:20587 次

请教共享库运行时加载的问题
写了一个共享库,其中用到了其他的共享库(隐式链接),最后运行的时候,这个共享库在搜索其他共享库的时候,执着的去搜索编译时候指定的共享库的链接路径;如果建立一个和编译时一样的路径,能够正常的搜索到其他依赖共享库。可是在实际运行的时候,依赖共享库和编译时链接的路径不一样。无论我用LD_LIBRARY_PATH环境变量还是用ldconfig,或是把依赖共享库复制到/usr/lib目录下,都提示找不到, 隐式链接的共享库只能在链接的路径去搜索吗?

------解决方案--------------------
LIBPATH 这个环境变量是否有用?
------解决方案--------------------
那你是如何编译的?命令行是怎样的
------解决方案--------------------
export LD_LIBRARY_PATH=xxx 指定动态库目录,否则就应该将所有动态库放到/usr/lib,/usr/local/lib下,这样才会被查找到。
------解决方案--------------------
探讨

杯具的就是放到这两个目录也提示找不到,除非编译时候共享库的路径就在这两个位置,那么就能找到
引用:

export LD_LIBRARY_PATH=xxx 指定动态库目录,否则就应该将所有动态库放到/usr/lib,/usr/local/lib下,这样才会被查找到。