【发布时间】:2016-02-28 21:06:47
【问题描述】:
过去一周,我一直在尝试使用终端运行一些简单的 OpenCV 程序。我尝试了许多来自各个论坛的教程和建议,但收效甚微。尝试将 OpenCV 头文件链接到我的 OpenCV 主程序时会出现问题。对于一个简单的 c++ 程序,我只需执行 g++ main.cpp header.hpp 即可生成可执行程序。如何链接必要的 OpenCV 头文件,例如 <opencv2/highgui/highgui.hpp> 和 <opencv2/core/core.hpp>?
例如,当尝试从http://docs.opencv.org/2.4/doc/tutorials/introduction/display_image/display_image.html 执行示例程序时,会发生以下情况:
桌面罗伯特$ g++ loadIMG.cpp 架构 x86_64 的未定义符号: “cv::namedWindow(cv::String const&, int)”,引用自: _main 在 loadIMG-54c517.o “cv::Mat::deallocate()”,引用自: loadIMG-54c517.o 中的 cv::Mat::release() “cv::Mat::copySize(cv::Mat const&)”,引用自: cv::Mat::operator=(cv::Mat const&) 在 loadIMG-54c517.o “cv::String::deallocate()”,引用自: loadIMG-54c517.o 中的 cv::String::~String() “cv::String::allocate(unsigned long)”,引用自: loadIMG-54c517.o 中的 cv::String::String(char const*) “cv::imread(cv::String const&, int)”,引用自: _main 在 loadIMG-54c517.o “cv::imshow(cv::String const&, cv::_InputArray const&)”,引用自: _main 在 loadIMG-54c517.o “cv::waitKey(int)”,引用自: _main 在 loadIMG-54c517.o “cv::fastFree(void*)”,引用自: loadIMG-54c517.o 中的 cv::Mat::~Mat() ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
请注意:OpenCV 已经使用以下教程构建:http://blogs.wcode.org/2014/10/howto-install-build-and-use-opencv-macosx-10-10/
任何帮助或指导将不胜感激。谢谢。
【问题讨论】:
-
如果你想安装非 Apple 包,例如
OpenCV或ImageMagick或ffmpeg或gnuplot或parallel或pandoc或p7zip,在Mac,你真的会帮自己一个忙,从brew.sh 安装homebrew作为你的包管理器来下载、安装、更新和删除包。然后OpenCV就像brew install opencv一样简单,你就完成了。
标签: c++ macos opencv image-processing