您现在的位置: 365建站网 > 365学习 > Ubuntu下运行时出现cannot find -lGL的解决办法

Ubuntu下运行时出现cannot find -lGL的解决办法

文章来源:365jz.com     点击数:1342    更新时间:2017-11-30 10:30   参与评论
在ubuntu下编译C或cpp文件时,可能会出现找不到链接库的问题,其形式为:

cannot find -l****


这里的**一般是指的链接库,比如,刚刚装好opencv,按照网上教程一步步编译好了,最后按照教程想要编译一下/example/c下的例子试试,结果执行了

./build_all.sh


后,爆出一堆上面这种错误,比如,我在自己电脑上出现的错误就是找不到以下库

cannot find -lcudart
cannot find -lnppc
cannot find -lnppi
cannot find -lnppc
cannot find -lnpps


这说明以下库文件链接有问题,也就是find后面的参数中,l的后面就是库文件的名字,不过需要手动在名字前补齐lib


libcudart
libnppc
libnppi
libnppc
libnpps


既然是lib文件链接有问题,简单了。这种情况分两种

1、在usr/lib目录下有这些库文件

直接修复以下链接即可,例如依次执行

ln -s lib***.so.6(某个数字) lib***.so


即可

2、在usr/lib目录下没有这些文件

直接在系统根目录中依次搜索这些库文件,并使用

sudo cp 库文件名 /usr/lib


命令将相应库文件拷贝到该目录中即可

网上找了一下很多人都出现了这个错误。 
有两种原因,一种是没有按照libGL库,那么就安装:

sudo apt-get install libgl1-mesa-dev
  • 1

一种是装了,但是路径不对,那么就配置一下路径:

$ locate libGL
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.10.0
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2.0.0
$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

问题解决

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (1342人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------