Macos OS/X上的OpenCV链接错误

Macos OS/X上的OpenCV链接错误,macos,opencv,linker,linker-errors,Macos,Opencv,Linker,Linker Errors,当我尝试构建OpenCV应用程序时: #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { if (argc < 2) { cout <<

当我尝试构建OpenCV应用程序时:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    if (argc < 2) {
        cout << "usage: " << argv[0] << " image.png" << endl;
        return 1;
    }
    Mat im = imread(argv[1]);
    return 0;
}
更具可读性的列表:

bash-3.2$ for f in $(pkg-config --libs opencv); do echo $(basename $f); done
libopencv_calib3d.dylib
libopencv_contrib.dylib
libopencv_core.dylib
libopencv_features2d.dylib
libopencv_flann.dylib
libopencv_gpu.dylib
libopencv_highgui.dylib
libopencv_imgproc.dylib
libopencv_legacy.dylib
libopencv_ml.dylib
libopencv_nonfree.dylib
libopencv_objdetect.dylib
libopencv_ocl.dylib
libopencv_photo.dylib
libopencv_stitching.dylib
libopencv_superres.dylib
libopencv_ts.dylib
libopencv_video.dylib
libopencv_videostab.dylib

我做错了什么?我如何才能使事情正常运行?

看起来您没有为您的系统链接正确的LIB。请尝试创建您的项目文件(有关详细信息,请参阅我的答案)。

OpenCV的自制安装似乎已中断。我从源代码构建了这个库,它运行正常

  • 从下载并解压缩最新的tarball
  • mkdir opencv-2.4.7/build
  • cd opencv-2.4.7/build
  • ccmake-设置所有相关选项,尤其是CMAKE_INSTALL_前缀
  • 制造
  • 安装
  • 导出PKG_CONFIG_PATH=/Users/misha/lib/pkgconfig(或安装库的任何位置)
  • pkg-config--libs--cflags-opencv-确认pkgconfig拾取新安装的库
  • 构建应用程序
  • 此外,您可能需要删除损坏的自制opencv:

    brew uninstall opencv
    

    谢谢你的回复。这些是我唯一的自由选择。如果它们不是正确的LIB,那么CMake会有什么好处?如何检查这些LIB是否确实正确?构建源代码是一种很好的方法来确保。荣誉
    bash-3.2$ for f in $(pkg-config --libs opencv); do echo $(basename $f); done
    libopencv_calib3d.dylib
    libopencv_contrib.dylib
    libopencv_core.dylib
    libopencv_features2d.dylib
    libopencv_flann.dylib
    libopencv_gpu.dylib
    libopencv_highgui.dylib
    libopencv_imgproc.dylib
    libopencv_legacy.dylib
    libopencv_ml.dylib
    libopencv_nonfree.dylib
    libopencv_objdetect.dylib
    libopencv_ocl.dylib
    libopencv_photo.dylib
    libopencv_stitching.dylib
    libopencv_superres.dylib
    libopencv_ts.dylib
    libopencv_video.dylib
    libopencv_videostab.dylib
    
    brew uninstall opencv