无法使用CMake编译简单的Opencv C++文件

fail to compile simple Opencv C++ file with CMake

本文关键字:Opencv C++ 文件 简单 编译 CMake      更新时间:2023-10-16

嗨,我正试图用Opencv运行一个简单的C++程序来显示图像文件,但我遇到了以下错误。

导入的目标"opencv_core"引用文件

"/usr/local/lib/libopencv_core.so.3.2.0"

但该文件不存在。可能的原因包括:

  • 文件已被删除、重命名或移动到其他位置。

  • 安装或卸载过程未成功完成。

  • 安装包有故障,包含

    "/usr/local/share/OpenCV/OpenCVModules.cmake">

    但不是它引用的所有文件。

调用堆栈(最近的调用优先):/usr/local/share/OpenCV/OpenCVConfig.cmake:111(包括)CMakeLists.txt:3(find_package)

--配置不完整,出现错误!

这里的代码是opencv中给出的一个示例:http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html#linux-gcc使用

我以前尝试过使用opencv 3.2,但我卸载并删除了所有使用sudo apt-get-remove-libopencv*的opencv文件

我在这里发现了类似的问题:CMake没有找到OpenCV,但无法理解答案。我在ubuntu 14.04.4上安装了ROS Indigo。此外,我尝试安装Opencv 2.4.13,但当我使用以下命令检查安装的版本时

pkg配置--modversion opencv

2.4.8

我得到的是2.4.8,主要问题是为什么它引用文件/usr/local/lib/libopencv_core.so.3.2.0?

仅供参考,我按照此处给出的说明安装了opencv:http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-安装

谢谢

所以我发现了,显然我有链接问题,因为分期付款不好。我卸载了opencv,删除了所有文件并重新安装了它。我本可以使用symlink来解决它,但我认为最好清除所有内容并重新安装它。效果很好。

附加说明:我的观察结果是,如果你安装了ROS并将opt/ROS/dindig/setup.bash保存在~/.bashrc中,它会出现错误,所以最好从~/.bahrc中删除这些行,然后重试。

还有其他建议吗??

如果您的计算机中安装了多个OpenCV,您可以删除您的OpenCV文件夹,也可以将文件夹移动到临时文件夹:

sudo mv /usr/local/share/OpenCV /temp/OpenCV

它对我有用!!