libopencv_features2d.so.2.4 存在于 /usr/local/lib 中,但可执行文件需要 libopencv_features2d.so.2.3

libopencv_features2d.so.2.4 存在于 /usr/local/lib 中,但可执行文件需要 libopencv_features2d.so.2.3

我是一名新手,所以如果这个问题之前已经被问过或者太过初级,请对我宽容一点并提供帮助。

我已经安装了 opencv-2.4.0,现在正在处理地形分类代码。运行加载器时出现以下错误./terrClass

error while loading shared libraries: 
libopencv_features2d.so.2.3: cannot open shared object file: No such file or directory

我已经尝试过解决方案

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

但这个东西在我的/usr/local/lib目录中,libopencv_features2d.so.2.4存在,而不是libopencv_features2d.so.2.3。我现在该怎么办。我应该降级libopencv_features2d.so.2.4libopencv_features2d.so.2.3还是怎么办?

还有一件事我应该告诉你们。有一个名为 的主目录,terrClass然后有一个子目录src。有两个可执行文件,一个在名为 的主目录中,另一个在也名为 的terrClass子目录中。此可执行文件在主目录中运行良好,没有任何错误,但在目录中却出现上述错误。srcterrClasssrc

我是否应该在继续编写代码之前尝试消除此错误,或者我可以使用主目录的可执行文件并忽略src目录中的可执行文件。

答案1

后续库版本通常包含前一版本的 API 符号和功能的超集。创建符号链接可能就足够了:

ln -s libopencv_features2d.so.2.4 /usr/local/lib/libopencv_features2d.so.2.3

答案2

您想要的软件包,对于或libopencv-features2d2.3不可用,但对于 仍然可用;您可以通过将以下行添加到来将 的存储库添加到您的存储库:trustyutopicpreciseuniversepreciseapt/etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu/ precise universe
deb-src http://archive.ubuntu.com/ubuntu/ precise universe

然后您可以libopencv-features2d2.3通过运行以下命令进行安装:

sudo apt-get update && sudo apt-get install libopencv-features2d2.3

相关内容