当前位置: 技术问答>linux和unix
linux动态库调用的问题求解
来源: 互联网 发布时间:2017-03-13
本文导语: 现有一个QT的工程文件 ,已顺利编译成功 ,但在运行可执行程序时报错说: error while loading shared libraries: libortp.so.8: cannot open shared object file: No such file or directory 我在/usr/local/lib文件夹下找到了对应的 libor...
现有一个QT的工程文件 ,已顺利编译成功 ,但在运行可执行程序时报错说:
error while loading shared libraries: libortp.so.8: cannot open shared object file: No such file or directory
我在/usr/local/lib文件夹下找到了对应的 libortp.so.8文件,同时还有 libortp.so.8.0.0文件
查看 libortp.so.8的属性发现其有Link target选项,且其值为: libortp.so.8.0.0
而 libortp.so.8.0.0文件本身没有Link target选项
请问是不是因为libortp.so.8链接到了 libortp.so.8.0.0导致找不到目标库文件?
后来我将libortp.so.8通过复制粘贴操作去掉了其Link target 选项并放在了/usr/local/lib下 但是在执行程序时还是会报同样的错误
不知道该怎么办了 望大家指点迷津!
error while loading shared libraries: libortp.so.8: cannot open shared object file: No such file or directory
我在/usr/local/lib文件夹下找到了对应的 libortp.so.8文件,同时还有 libortp.so.8.0.0文件
查看 libortp.so.8的属性发现其有Link target选项,且其值为: libortp.so.8.0.0
而 libortp.so.8.0.0文件本身没有Link target选项
请问是不是因为libortp.so.8链接到了 libortp.so.8.0.0导致找不到目标库文件?
后来我将libortp.so.8通过复制粘贴操作去掉了其Link target 选项并放在了/usr/local/lib下 但是在执行程序时还是会报同样的错误
不知道该怎么办了 望大家指点迷津!
|
load时入参没有写完整路径? “/usr/local/lib/libortp.so.8”
|
如何改动的?cp libortp.so.8.0.0 libortp.so.8
这样子吗?
改动完了过后,注意ldconfig一遍。
这样子吗?
改动完了过后,注意ldconfig一遍。
|
1)修改文件
vim ~/.bash_profile
2)增加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:newpath
vim ~/.bash_profile
2)增加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:newpath