cannot find -l****问题的解决办法

在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

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

你可能感兴趣的:(编译,库)