运行一个C++工程时收到报错,无法打开共享库。
error while loading shared libraries: libopencv_imgcodecs.so.4.3: cannot open shared object file : No such file or directory
解决思路:
1,查找报错的文件的位置:
$ find -name "libopencv_imgcodecs.so.4.3"
结果:
./openvino/inference-engine/temp/opencv_4.3.0_ubuntu18/opencvlib/libopencv_imgcodecs.so.4.3
2,找到位置后将报错文件的路径添加到 LD_LIBRARY_PATH 即可解决错误。
LD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。
$ export LD_LIBRARY_PATH=/FULLPATHTO/openvino/inference-engine/temp/opencv_4.3.0_ubuntu18/opencv/lib/
注:/FULLPATHTO 处应输入/openvino之前的完全路径。
export LD_LIBRARY_PATH 之后仅在当前shell有效,登出或者打开另一个shell需要重新操作。
如需更改设置为对linux系统登入用户生效,可修改用户目录(cd /home/xxx)下的.bashrc文件。
$ vi .bashrc
将exprot LD_LIBRARY_PATH 插在.bashrc最后,然后esc进入command模式 :wq 保存并退出。
对我而言,插入:
export LD_LIBRARY_PATH=/home/ywang/openvino/inference-engine/temp/opencv_4.3.0_ubuntu18/opencv/lib/
export LD_LIBRARY_PATH=/home/ywang/openvino/inference-engine/temp/tbb/lib:$LD_LIBRARY_PATH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)