争怎路由网/系统工具/内容

linux进程执行未加载动态库报错:libitcastsocket.so

系统工具2024-06-11 阅读
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
问题出现场景
编写代码调用了动态库的函数,linux是要加载到环境中,所以引用动态库头文件并没有真正的使用到动态库,当编译代码,就会报以下的错误:
[root@localhost netproc]# ./client  
./client: error while loading shared libraries: libitcastsocket.so: cannot open shared object file: No such file or directory  
 
错误提示很明显提示没有找到动态库。
 
检测程序有那些没有加载的动态库:
[root@localhost netproc]# ldd client  
linux-vdso.so.1 =>  (0x00007fff6f9ff000)  
libitcastsocket.so => not found  
libc.so.6 => /lib64/libc.so.6 (0x0000003a64000000)  
/lib64/ld-linux-x86-64.so.2 (0x0000003a63800000)  
 
加载缺失的动态库:
直接将文件目录下的动态库加载到环境中
export LD_LIBRARY_PATH=/netproc:$LD_LIBRARY_PATH
[root@localhost netproc]# ldd client  
linux-vdso.so.1 =>  (0x00007fffd43ff000)  
libitcastsocket.so => /netproc/libitcastsocket.so (0x00007f65fbf91000)  
libc.so.6 => /lib64/libc.so.6 (0x0000003a64000000)  
/lib64/ld-linux-x86-64.so.2 (0x0000003a63800000)

Linux是一套免费使用和自由传播的类Unix操作系统



……

相关阅读