安大
分类: LINUX
2014-03-12 12:56:47
原文地址:动态库文件.so not found 作者:zuoan126
问题:
root@WHU:/home/zuoan/program/so/01test# ldd test2
linux-gate.so.1 => (0xb76f8000)
libtest2.so => not found
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb752e000)
/lib/ld-linux.so.2 (0xb76f9000)
解决:
链接时OK了,像必用的"-L MyLibPath -lxxx " 或 绝对路径“MyLibPath/libxxx.so”的形式. linux 可执行文件在$PATH里找,动态库在$LD_LIBRARY_PATH(这个一般就是/lib /usr/lib两个目录) -L 指定的"MyLibPath"不在环境变量里,当然找不到了. linux 开发环境推荐的搭建方式. 可以在自己的home目录里(快捷方式:运行push ~ 或cd ~ 或 cd即可),分别建立bin lib目录. 然后 vim .bashrc #在文件尾部 将bin lib 两个目录设置到这两个环境变量里来. #. 注意这里一定是export. 不然不生效的. export PATH=.:$HOME/bin:$PATH export LD_LIBRARY_PATH=.:$HOME/lib:$LD_LIBRARY_PATH
复制代码
#. 然后重启动shell 或者. .bashrc 或者 source .bashrc 即可 重新设置环境变量. #. 检查一下: echo $LD_LIBRARY_PATH 有值 就说明OK了. #. 然后把lib文件,建个符号链接放在lib下,运行那个可执行文件就OK啦 帖子: |