我进入了通过 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/