2023年11月29日发(作者:)
完美解决
环境: ubuntu 18.04
具体案例:
$ ./glcapsviewer
./glcapsviewer: error while loading shared libraries: .1.13: cannot open shared object file: No such file or directory
原因:
缺少.1.13
尝试⽅案⼀:
$sudo apt-cache search libGLEW
glew-utils - OpenGL Extension Wrangler - utilities
libglew-dev - OpenGL Extension Wrangler - development environment
libglew2.0 - OpenGL Extension Wrangler - runtime environment
libglewmx-dev - OpenGL Extension Wrangler MX - development environment
libglewmx1.13 - OpenGL Extension Wrangler (Multiple Rendering Contexts)
将search到的⼏个库通过apt install 全部安装,问题仍未解决
尝试⽅案⼆:
查找⽬录下,name为(.1.13后的号是匹配规则,防⽌⽂件实际命名为的情况),类型
/.1.13**.1.13.0
为的⽂件。如果查找到⽂件,那么我们可以通过配置环境变量的⽅式,使运⾏时找到.1.13。因为如果库安装
f./glcapsviewer
到⽬录下,系统在运⾏时会⾃动查找此⽬录下的⽂件,如果没有安装到⽬录下,需⾃⼰⼿动配置环境变量
/usr/lib/usr/lib
sudo find / -name .1.13* -type f
查找后并未发现,说明通过⽅案⼀,并未安装我们想要的⽂件
$ sudo find / -name .1.13* -type f
/usr/lib64/.1.13.0
结果查找到, 说明我们已正确安装。此时运⾏仍然报相同的错误,怀疑是环境变量未配置,在中最后⼀
.1.13.0./glcapsviewer~/.profile
⾏增加来配置环境变量。
export PATH="/usr/lib64:$PATH"
再次运⾏还是报相同的错误,⽹上搜索得到答案:
./glcapsviewer
将so库所在的⽬录写⼊到中,然后执⾏,⾄此glcapsviewer可以完美运⾏!
/usr/lib64/etc/sudo ldconfig
/etc/
的作⽤:
/etc/.d/*/etc//lib/usr/lib
⽬录下的⽂件和记录了动态链接库的路径,系统默认搜索和 ,在其他路径下的库⽂件就需在这些⽂件
中指定。或者,还有个⽅法,就是设置环境变量(可以设置到或,设置到下⽆效,⾄少在
LD_LIBRARY_PATH~/.bashrc~/.bash_profile/etc/profile
ubuntu18.04下是这样),添加其他路径,多个 中间⽤:分隔开


发布评论