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

标签 opencv c++11 homebrew yolo darknet

我正在尝试编译 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/

相关文章:

c++ - 为 UWP 构建 OpenCV

c++ - 随机 double 总是无限的

c++ - 为什么 utf-8 字符在 cmd.exe 中不显示?

terminal - autoconf在homebrew中没有链接,如何链接它?

c++ - 将 RenderTexture 复制到图像

c++ - 使用 C++ 和 opencv 进行图像缩放的 Spline Catmull-Rom

c++ - std::accumulate() 只是复数 std::vector 的实部

macos - 如何在 MacOS Catalina 上安装 X11 版本的 Emacs?

python - 如何在 MacOS High Sierra 上修复 Home-brew 的权限

c++ - 使用 Mat::at 遍历图像时崩溃