OpenCV 4.x +需要启用C ++ 11支持

时间:2019-08-02 00:09:08

标签: opencv c++11 homebrew yolo darknet

我正在尝试在macOS 10.14.3(Mojave)上使用OpenCV编译Yolo/darknet。这基本上就是我所做的:

我通过brew install opencv安装了OpenCV,它给了我版本4.1.0(通过opencv_version确认)。

每个文档,./darknet imtest data/eagle.jpg工作正常,因此我知道OpenCV安装成功了一些。接下来,我尝试再次make暗网。

起初它抱怨找不到opencv.pc,但是我做了一个符号链接opencv.pc指向opencv4.pc中的/usr/local/lib/pkgconfig/

但是现在它抱怨以下内容:

[hobbes3@hobbes3-4] ~/darknet $ make
g++ -Iinclude/ -Isrc/ -DOPENCV `pkg-config --cflags opencv`  -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -DOPENCV -c ./src/image_opencv.cpp -o obj/image_opencv.o
In file included from ./src/image_opencv.cpp:5:
In file included from /usr/local/Cellar/opencv/4.1.0_2/include/opencv4/opencv2/opencv.hpp:52:
In file included from /usr/local/Cellar/opencv/4.1.0_2/include/opencv4/opencv2/core.hpp:52:
/usr/local/Cellar/opencv/4.1.0_2/include/opencv4/opencv2/core/cvdef.h:666:4: fatal error: "OpenCV 4.x+ requires enabled C++11 support"
#  error "OpenCV 4.x+ requires enabled C++11 support"
   ^
1 error generated.
make: *** [obj/image_opencv.o] Error 1

接下来我需要做什么?

2 个答案:

答案 0 :(得分:1)

我可能只想尝试朋克并手动编辑Makefile中的CXX标志。

如果您查看当前版本的line 30,则可以添加-std=c++11并查看再次运行make时会发生什么。记得先做make clean

C ++ 11主要是向后兼容的,因此它可能就可以工作。

答案 1 :(得分:0)

我添加了它,但出现此错误: cc1:警告:命令行选项'-std = c ++ 11'对C ++ / ObjC ++有效,但对C无效