编译darknet时报错“OpenCV 4.x+ requires enabled C++11 support”
时间: 2024-03-10 11:49:05 浏览: 32
这个错误和之前提到的一样,是因为OpenCV 4.x+需要启用C++11支持而导致的。为了解决这个问题,你需要在编译darknet时启用C++11支持。
在Makefile中添加以下代码:
```
CXXFLAGS+=-std=c++11
```
这将启用C++11支持,并解决与OpenCV 4.x+相关的编译错误。在添加了这行代码之后,请重新编译darknet,它应该能够成功构建了。
相关问题
在opencv中运行darknet需要设置opencv=1吗
在OpenCV中运行Darknet,通常需要将编译选项中的opencv设置为1。Darknet是一个用C和CUDA编写的深度学习框架,它需要OpenCV库来处理图像和视频数据。
在编译Darknet时,需要在Makefile中设置变量"OPENCV"为1,以启用OpenCV支持。如果没有设置这个变量,Darknet将无法使用OpenCV库,因此,无法处理图像和视频数据。
因此,如果您想在OpenCV中运行Darknet,需要确保在编译Darknet时设置了"OPENCV=1"。
*** No rule to make target 'obj/image_opencv.o', needed by 'darknet'. Stop.
这个错误消息表明在构建 darknet 时,没有找到 `obj/image_opencv.o` 这个目标文件。停止构建了。
要解决此问题,你可以尝试以下几个步骤:
1. 检查是否正确安装了 OpenCV,并确保已经正确配置了 OpenCV 的路径。你可以使用 `pkg-config --libs opencv` 命令来验证是否能正确找到 OpenCV 库。
2. 确保你的代码中正确地包含了 OpenCV 的头文件,并且相关的库链接标志已经正确设置。
3. 检查你的 Makefile 文件中是否正确地指定了编译 `obj/image_opencv.o` 这个目标文件的规则。确保规则中的依赖文件和路径设置都是正确的。
如果以上步骤都没有解决问题,可能需要确认编译环境和依赖项的配置,以确保能够正确地编译 darknet。