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下是这样),添加其他路径,多个 中间⽤:分隔开