为什么我的程序找不到“/ usr / local / lib”中的库?
我在Ubuntu 10.10上,我刚刚将opencv升级到2.4.2。
问题是,每次我打开一个新的shell并尝试编译和运行时,它会编译但由于以下错误而无法运行:
./a.out: error while loading shared libraries: libopencv_calib3d.so.2.4: cannot open shared object file: No such file or directory
据我所知,这个文件位于/ usr / local / lib /!
我可以事先运行以下命令来运行它:
export LD_LIBRARY_PATH=/usr/local/lib
我该如何解决这个问题?
/usr/local/lib
不在默认的Ubuntu路径中。 您应该在/etc/environment
中的LD_LIBRARY_PATH
环境变量的末尾添加它。 重新启动并且新路径将生效。
您也可以在〜/ .bashrc中基于每个用户进行设置
示例(/ etc / environment)
LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
示例(〜/ .bashrc)
export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib"