OpenCVをmacOSでC言語で使いたい
コンパイルしたときにエラーが出てしまいます。
何がダメで以下の二つは何が違うのでしょうか?
発生している問題・エラーメッセージ
"OpenCV 4.x+ requires enabled C++11 support"
ターミナルに下記を入力
g++ -o main main.cc `pkg-config --cflags --libs opencv`
コード
c++
1 #include <opencv2/opencv.hpp> 2 3using namespace cv; 4 5int main() 6{ 7 Mat image = Mat::zeros(100, 100, CV_8UC3); 8 imshow("", image); 9 waitKey(0); 10} 11
試したこと
ターミナルへの入力を、
g++ -o main main.cc pkg-config --cflags --libs opencv2
とすると、
fatal error: 'opencv2/opencv.hpp' file not found
が表示されます。
補足情報(FW/ツールのバージョンなど)
Mac最新のOSです
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
opencv2/opencv.hpp のファイルがないといってますが、そのファイルはありますか?
投稿2019/01/09 07:26
総合スコア88163
0
先日リリースされた OpenCV 4 からこ C++11 が必須になりました。
g++ -o main main.cc pkg-config --cflags --libs opencv2
を
g++ -o -std=c++11 main main.cc pkg-config --cflags --libs opencv2
のように C++11 オプションを有効にしてみてはどうでしょうか。
追記
1. 以下のようなフォルダ構成を用意する。
sample ├── CMakeLists.txt (ファイル) ├── build (ディレクトリ) └── src (ディレクトリ) └── main.cpp (ファイル)
CMakeLists.txt と main.cpp の中身は以下とする。
CMakeLists.txt
cmake
1cmake_minimum_required(VERSION 2.8) 2 3set (CMAKE_CXX_STANDARD 11) 4project(sample) 5add_executable(${PROJECT_NAME} src/main.cpp) 6 7find_package(OpenCV REQUIRED) 8include_directories(${OpenCV_INCLUDE_DIRS}) 9target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
main.cpp
cpp
1#include <opencv2/opencv.hpp> 2 3int main(int argc, char *argv[]) 4{ 5 if (argc == 1) 6 { 7 std::cerr << "sample.exe <image_filepath>" << std::endl; 8 return 1; 9 } 10 11 cv::Mat img = cv::imread(argv[1]); 12 if (img.empty()) 13 return 1; 14 15 cv::imshow("image", img); 16 cv::waitKey(0); 17 18 cv::destroyAllWindows(); 19 return 0; 20}
2. cmake する。
$ cd <sample ディレクトリがある場所>/build $ cmake ..
もし、cmake で以下のエラーが出たら、OpenCV がある場所を自動で見つけられなかったので、OpenCV をインストールした場所を次のように引数で教えてあげる。
Could not find a package configuration file provided by "OpenCV" with any of the following names:
cmake .. -DCMAKE_PREFIX_PATH=<OpenCV をインストールした場所>
3. ビルドする。
$ make
投稿2019/01/09 07:25
編集2019/01/10 07:29総合スコア21960
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
自己解決
g++ -std=c++11 main.cpp -o main pkg-config --cflags --libs opencv
上記のコンパイル。
ダウンロードの参考は、
https://www.learnopencv.com/install-opencv-4-on-macos/
投稿2019/01/13 09:33
総合スコア16
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/09 07:35
2019/01/09 07:56
2019/01/09 13:09