opencv-3.3.0编译时出现:没有规则可制作目标“/usr/lib/libf77blas.so”,由“lib/libopencv_sfm.so.3.3.0”需求。停止。

在这里插入图片描述

问题实质是依赖项在动态链接过程出现问题。

没有规则可制作目标“/usr/lib/libf77blas.so”,意为/usr/lib路径找不到libf77blas.so,然后我就在/usr/lib/当前路径检索libf77blas.so,发现它是/usr/lib/x86_64-linux-gnu/libf77blas.so,并且和/usr/lib/x86_64-linux-gnu/libf77blas.so.3.10.3建立了链接关系。解决办法是把这两个文件移动到/usr/lib路径,然后删除原先路径下的这两个文件。

1
sudo    cp  -r  /usr/lib/x86_64-linux-gnu/libf77blas.so /usr/lib/libf77blas.so
1
sudo    cp  -r  /usr/lib/x86_64-linux-gnu/libf77blas.so.3.10.3  /usr/lib/libf77blas.so.3.10.3

1
sudo    rm  -f  /usr/lib/x86_64-linux-gnu/libf77blas.so
1
sudo    rm  -f  /usr/lib/x86_64-linux-gnu/libf77blas.so.3.10.3

问题解决。