所有的“error while loading shared······”应该都是在运行程序时找不到动态库所造成的,解决方法都一样,下面是一个例子
今天编译libpcap错误提示:error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
编译命令:gcc nonblocktest.c -L/usr/lib -lpcap -I/usr/include -o non
操作:代码由C编写,gcc编译通过,以管理员权限运行,出错
在网上搜索,才明白在运行程序加载动态库的时候系统找不到libpcap.so.1该库
解决方案:一
把libpcap的所有库都复制到到当前下,再运行程序(在这里是以libpcap为例,其他的包就需要把相应生成的库复制到当前文件夹即可)
解决方案:二
1. 执行 locate libpcap.so.1 , 查看libpcap.so.1在系统中的路径 , 如显示为 : /usr/lib/libpcap.so.1.1.1
2. 以管理员权限打开编辑 /etc/ld.so.conf 文件, 末尾新一行追加 /usr/lib , /usr/lib 为 libpcap.so.1.1.1 所在目录, 保存退出
3. 以管理员权限执行 ldconfig 命令,
4. 成功