YOLOはOpenCV3.4.1に対応していないみたい[18.7.10時点]

インストールに失敗した私の環境

OpenCV: 3.4.1

Python: 3.6

CUDA: 9.1

実行した手順

$ git clone https://github.com/pjreddie/darknet.git

$ cd darknet

~/darknet/ にある Makefile を編集

GPU=1

CUDNN=1

OPENCV=1

Makefileを保存後、makeする。

$ make

make実行時にエラー発生

gcc -Iinclude/ -Isrc/ -DOPENCV `pkg-config --cflags opencv` -DGPU -I/usr/local/cuda/include/ -DCUDNN -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -DOPENCV -DGPU -DCUDNN -c ./src/gemm.c -o obj/gemm.o
In file included from /usr/local/include/opencv2/core/types_c.h:59:0,
from /usr/local/include/opencv2/core/core_c.h:48,
from /usr/local/include/opencv2/highgui/highgui_c.h:45,
from include/darknet.h:25,
from ./src/utils.h:5,
from ./src/gemm.c:2:
/usr/local/include/opencv2/core/cvdef.h:421:4: error: #error "OpenCV 4.x+ requires enabled C++11 support"
# error "OpenCV 4.x+ requires enabled C++11 support"
^
compilation terminated due to -Wfatal-errors.
Makefile:85: ターゲット 'obj/gemm.o' のレシピで失敗しました
make: *** [obj/gemm.o] エラー 1

YOLOはOpenCV3.4.1に対応していないみたい

github.com

対策

OpenCVを3.4.1から3.4.0にする。

ただ、私の環境でOpenCVのバージョンを変更すると他のプログラムが動かなくなるので、Nvidia-docker2で作成した仮想環境にYOLOをインストールする予定。