前提・実現したいこと
・前提
darknetのインストール方法が載っているサイトを参考に
Compiling With OpenCVという見出しの箇所の2つのコードを実行したいです。
Makefileの中をOPENCV=1
にするという1つ目のコードが終わり、2つ目のコードとの間にある、
「You're done! To try it out, first re-make the project.」をdarknetディレクトリの中で
もう一度makeコマンドを実行することだと解釈してmakeコマンドを実行しました。
Installing The Base Systemという見出しのコードはすべてエラー無く実行できました。
・実現したいこと
エラーなくmakeコマンドを実行したいです。
発生している問題・エラーメッセージ
(yolo) bash-3.2$ 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 /bin/sh: pkg-config: command not found ./src/image_opencv.cpp:5:10: fatal error: 'opencv2/opencv.hpp' file not found #include "opencv2/opencv.hpp" ^~~~~~~~~~~~~~~~~~~~ 1 error generated. make: *** [obj/image_opencv.o] Error 1
発生している問題のカレントディレクトリとディレクトリ構造
(yolo) bash-3.2$ pwd /Users/moray/darknet (yolo) bash-3.2$ ls LICENSE LICENSE.meta README.md data libdarknet.so scripts LICENSE.fuck LICENSE.mit backup examples obj src LICENSE.gen LICENSE.v1 cfg include python LICENSE.gpl Makefile darknet libdarknet.a results
試したこと
fatal error: 'opencv2/opencv.hpp'というのを、includeの参照先にそれがないと解釈して、それを参照先に追加すればいいと思いました。
opencv.hppの存在はFinderで確認して、パスは
(yolo) bash-3.2$ ls ~/opt/anaconda3/pkgs/libopencv-3.4.2-h7c891bd_1/include/opencv2/opencv.hpp /Users/moray/opt/anaconda3/pkgs/libopencv-3.4.2-h7c891bd_1/include/opencv2/opencv.hpp
です。
また、errorが出た.src/image_opencv.cppを少し見ると
#ifdef OPENCV #include "stdio.h" #include "stdlib.h" #include "opencv2/opencv.hpp" #include "image.h" using namespace cv;
となっていました。
予想として、opencv2の前に完全パスを書く、又は環境変数C_INCLUDE_PATH、C_PLUS_INCLUDE_PATH、CPATHに
完全パスを書く、という4つの選択肢を見つけて、それぞれ行いましたがいずれもエラーが出ました。
環境変数の件は、~/.bash_profile
にexport (環境変数名)="(・・・/include)"
としました。
※()は実際には書いてません。
追記1(12/13, 11:44)
makeコマンドだから何か特別なことが起こって通らないだけであって、gccコマンドだったら通るのでは?と思って、
#include "opencv2/opencv.hpp"
したファイルと同じディレクトリに以下のsample.cを作りました。
#include <stdio.h> #include "~/opt/anaconda3/pkgs/libopencv-3.4.2-h7c891bd_1/include/opencv2/opencv.hpp" int main(){ return 0; }
で、gcc -o sample sample.c
を実行すると、やはり
sample.c:2:10: fatal error: '~/opt/anaconda3/pkgs/libopencv-3.4.2-h7c891bd_1/include/opencv2/opencv.hpp' file not found #include "~/opt/anaconda3/pkgs/libopencv-3.4.2-h7c891bd_1/include/opencv2/opencv.hpp"
というエラーが出ました。
指定したパスはls
コマンドで存在することが分かっているのに、includeが通らないのは何故なのか分かりません。
補足情報(FW/ツールのバージョンなど)
マシン: macOS Catalina 10.15.1
実行環境: anacondaの仮想環境
gccのバージョン:
(yolo) bash-3.2$ gcc --version Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang version 11.0.0 (clang-1100.0.33.12) Target: x86_64-apple-darwin19.0.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。