我正在尝试编译 Yolo/darknet在我的 macOS 10.14.3 (Mojave) 上使用 OpenCV。这基本上是我所做的:
我通过 brew install opencv
安装了 OpenCV它给了我 4.1.0 版本(通过 opencv_version
确认)。
根据文档,./darknet imtest data/eagle.jpg
工作正常,所以我知道 OpenCV 安装有点成功。接下来,我尝试 make
又是暗网。
起初它提示找不到opencv.pc,但我做了一个符号链接(symbolic link)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
接下来我需要做什么?
最佳答案
我可能会尝试去朋克并在 Makefile
中手动编辑 CXX 标志.
如果你看line 30在当前版本中,您可以添加 -std=c++11
看看当你再次运行 make 时会发生什么。记得做make clean
第一的。
C++11 大部分是向后兼容的,所以它可能只是工作。
关于OpenCV 4.x+ 需要启用 C++11 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57318446/