macos - 在 Mac 上构建 openCV 3.0.0 时出错

标签 macos qt opencv terminal cmake

我进入了通过 CMake(配置和生成)成功填充构建文件的阶段。

当我通过终端在构建目录中运行 make 时,我在 48% 处遇到 fatal error ,之前还有一些其他错误。

[ 47%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_mjpeg_decoder.cpp.o
[ 47%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_ffmpeg.cpp.o
[ 48%] Building CXX object modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_qtkit.mm.o
/Users/casparwylie/Desktop/Stuff/Programming/opencv/modules/videoio/src/cap_qtkit.mm:297:14: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
    [NSTimer scheduledTimerWithTimeInterval:100 target:nil selector:@selector(doFireTimer:) userInfo:nil repeats:YES];
             ^                                         ~~~
1 warning generated.
[ 48%] Linking CXX shared library ../../lib/libopencv_videoio.dylib
Undefined symbols for architecture x86_64:
  "_CMBlockBufferCreateWithMemoryBlock", referenced from:
      _videotoolbox_common_end_frame in libavcodec.a(videotoolbox.o)
  "_CMSampleBufferCreate", referenced from:
      _videotoolbox_common_end_frame in libavcodec.a(videotoolbox.o)
  "_CMVideoFormatDescriptionCreate", referenced from:
      _av_videotoolbox_default_init2 in libavcodec.a(videotoolbox.o)
  "_ModPlug_GetCurrentOrder", referenced from:

此错误是什么意思,是否有任何修复或解决方法?

最佳答案

我遇到了完全相同的问题。就我而言,这是由于缺少 ffmpeg 造成的。您可以通过以下方式安装 ffmpeg

brew install ffmpeg

通常,'Undefined symbols for arcgitecture...' 与缺少的库有关。

关于macos - 在 Mac 上构建 openCV 3.0.0 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34103544/

相关文章:

macos - 在 Mac OS X 上获取 CPU 描述

c++ - 是否有适用于 Mac OS X 的好(最好是免费的)面向对象建模应用程序?

c++ - 用于 qtabbar 的 qt 自定义 qstyle

c++ - Qt Windows 部署 : Application does not start

c++ - 将 .dll 导入 Qt

python - python中的Opencv + blob

python - 在 OpenCV 中测量边缘强度,梯度大小

iphone - 从 iOS 跳转到 OSX

macos - 使用选项卡时 NSTextView 过早换行

image-processing - 图像交叉检测