【问题标题】:Need help setting up OpenCV on a Mac需要帮助在 Mac 上设置 OpenCV
【发布时间】:2015-07-13 03:00:22
【问题描述】:

我是一个初学者程序员,所以可能在这里错过了一些明显的东西。 我正在按照本教程在我的 Mac 上设置 opencv: OpenCV Linux Install (是的,它是 linux 版本,但它应该适用于 Mac) 我遵循了所有方向,一切正常。 (我做了 CMake、make 和 sudo make install 没有错误)

但是,当我编译时,我收到错误提示编译器找不到头文件。示例:

fatal error: ' opencv2\opencv.hpp ' file not found
#include < opencv2\opencv.hpp > 

我猜我还没有链接我的安装或“设置路径”?然而,这不是方向。 有什么想法吗?

【问题讨论】:

  • 让我理解:编译失败的是您自己的项目使用了一些 OpenCV 函数,对吗?你的项目是什么类型的?基本上发生的事情是 opencv 库不在您的默认包含路径中(请参阅stackoverflow.com/questions/4980819/gcc-include-directories),因此您必须明确指定它。通常你会通过添加到编译器行-I&lt;path to library include path&gt;来解决这个问题,但解决方案取决于你拥有的项目类型:如果你有一个CMake项目,你有一个名为include_directories的特殊命令
  • 谢谢,是的,失败的是使用 OpenCV 函数编译我自己的项目。这实际上是我从 OpenCV 网站上找到的一个示例项目。我尝试像这样编译: g++ -I /Users/user/Desktop/opencv2/include main.cpp 我得到了我之前提到的同样的错误。在我的包含目录中有 cmake_install.cmake CMakeFiles 和 Makefile。如何使用“include_directories”进行编译?
  • 还是同样的错误。这是一个资本我。 g++ -I/Users/user/Desktop/opencvbuild/include main.cpp main.cpp:3:10: 致命错误: 'opencv2/imgcodecs.hpp' 文件未找到#include "opencv2/imgcodecs.hpp" ^ 1 产生错误.
  • 当然,从来没有一个陌生人花这么多精力帮助我。非常感谢。
  • 当您提出新问题时,显示编译器命令行和 main.cpp 代码的相关部分。也许链接到这个问题,并注意清理上面的 cmets。祝你好运! (现在要睡觉了:))

标签: macos opencv


【解决方案1】:

经过一些反复试验,看起来您的编译器行应该是:

g++ -I/usr/local/include -lopencv_core -lopencv_imgproc -lopencv_highgui -L/usr/local/lib/ main.cpp main.cpp

即你应该检查你的install_manifest.txt(你的opencv安装命令的简历,在opencv构建目录中可用)并添加选项:

  • -I&lt;path to the include directory&gt;
  • -l&lt;name of the library file to be linked, removing "lib" prefix and any extension&gt;(重复您需要链接到的多个库)
  • -L&lt;path to the library directory&gt;

对于您的系统,库文件可以区分为具有扩展名.dylib(和前缀lib)。在 Windows 中,扩展名是 .dll,对于 Unix,则为 .so(对于动态库,而静态库的扩展名分别为 .lib.a

【讨论】:

    猜你喜欢
    • 2014-09-28
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    相关资源
    最近更新 更多