質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

openFrameworks

openFrameworksは、C++で記述されたライブラリ群です。既存のライブラリの設定なしで使用できるため「糊」のようなツールキットと呼ばれています。簡単なコードだけで様々なグラフィックスやインタラクションをデザインすることが可能です。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

4537閲覧

OpenCvのCMakeについて(Mac, CMake-gui, ProjectGenerator使用時)

ks-cap

総合スコア22

CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

openFrameworks

openFrameworksは、C++で記述されたライブラリ群です。既存のライブラリの設定なしで使用できるため「糊」のようなツールキットと呼ばれています。簡単なコードだけで様々なグラフィックスやインタラクションをデザインすることが可能です。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/07/04 12:53

編集2018/07/04 13:03

##実現したいこと
顕著性マップを行うため, opencv_contrib を拡張させたofxOpenCvを作りました.
(環境としては mac で cmake-gui を用いて opencv を cmake )
build内に生成された OpenCv.xcodeproj を開き, target→install とし build を行い
cmake の prefix で指定した箇所の ../include/opencv, ../opencv2 と ../lib/libopencv_img_hash.a, ../libopencv_world.a を of_v0.9.8_osx_release直下の ../addons/ofxOpenCv/libs/..include, ../lib/osx へ置き換えました.
その後, ProjectGenerator で新規プロジェクトを作成し, Addonsとして ofxOpenCv を設定し,作成プロジェクトに build をかけると,以下のようなエラーメッセージが出力されます.

lib の libopencv_world.a がうまく動いてないことがエラーからよくわかるのですが解決策がわかりません...

この解決方法がわかる方は, 是非ご教授お願いいたします.

発生している問題・エラーメッセージ

画像1
この間にも was built for newer OSX version (10.13) than being linked (10.7) が大量に続きます.
画像2
画像3
画像4

試したこと

cmakeで施した内容
opencv_world : チェック入れる 
EXTRA_MODULES_PATH : 指定済
INSTALL_PREFIX path : 指定済
CMAKE_OSX_SYSROOT : /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
CMAKE_OSX_ARCHITECTURES : x86_64
CMAKE_OSX_DEPLOYMENT_TARGET : 10.13
SHARED_LIBS : チェック外す
WITH_1394 : チェック外す
WITH_FFMPEG : チェック外す
BUILD_TESTS : チェック外す
(Python関連もチェック外しています, 以下参照)

CMakeでの出力

画像1
画像2
画像3
画像4
画像5

補足情報(FW/ツールのバージョンなど)

macbookpro 10.13.5
macOS HighSierra
CMake 3.10.0-rc5
openFrameworks pre release v0.9.8
Xcode 9.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

OpenCv.xcodeproj内の設定項目で、MACOSX_DEPLOYMENT_TARGETという項目がありますが、それが古いOSをターゲットにしてしまっています。
これを10.13にしてやることで解消はしそうです。

投稿2018/07/04 22:40

kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ks-cap

2018/07/05 02:02

ご返信のほどありがとうございます. OpenCv.xcodeproj内の設定項目を確認したところ、PROJECT/info/Deployment Target/macOS Deployment TargetとTARGETS/install/Deployment/macOS Deployment Target 共に既に10.13となっていました. もう一度10.13と打ち直しbuildし生成されたファイルを移動させても結果は変わりませんでした...
guest

0

ベストアンサー

自分の環境で,コンパイル通りましたのでCMAKEの設定を晒します

ofxOpenCv以下のscripts/formulas/opencv.shを参考にするのが良さそうです.

// opencv.shから抜粋 cmake .. -DCMAKE_INSTALL_PREFIX=$LIB_FOLDER \ -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 \ -DENABLE_FAST_MATH=OFF \ -DCMAKE_CXX_FLAGS="-fvisibility-inlines-hidden -stdlib=libc++ -O3 -fPIC -arch i386 -arch x86_64 -mmacosx-version-min=${OSX_MIN_SDK_VER}" \ -DCMAKE_C_FLAGS="-fvisibility-inlines-hidden -stdlib=libc++ -O3 -fPIC -arch i386 -arch x86_64 -mmacosx-version-min=${OSX_MIN_SDK_VER}" \ -DCMAKE_BUILD_TYPE="Release" \ -DBUILD_SHARED_LIBS=OFF \ -DBUILD_DOCS=OFF \ -DBUILD_EXAMPLES=OFF \ -DBUILD_FAT_JAVA_LIB=OFF \ -DBUILD_JASPER=OFF \ -DBUILD_PACKAGE=OFF \ -DBUILD_opencv_java=OFF \ -DBUILD_opencv_python=OFF \ -DBUILD_opencv_apps=OFF \ -DBUILD_JPEG=OFF \ -DBUILD_PNG=OFF \ -DWITH_1394=OFF \ -DWITH_CARBON=OFF \ -DWITH_JPEG=OFF \ -DWITH_PNG=OFF \ -DWITH_FFMPEG=OFF \ -DWITH_OPENCL=OFF \ -DWITH_OPENCLAMDBLAS=OFF \ -DWITH_OPENCLAMDFFT=OFF \ -DWITH_GIGEAPI=OFF \ -DWITH_CUDA=OFF \ -DWITH_CUFFT=OFF \ -DWITH_JASPER=OFF \ -DWITH_LIBV4L=OFF \ -DWITH_IMAGEIO=OFF \ -DWITH_IPP=OFF \ -DWITH_OPENNI=OFF \ -DWITH_QT=OFF \ -DWITH_QUICKTIME=OFF \ -DWITH_V4L=OFF \ -DWITH_PVAPI=OFF \ -DWITH_OPENEXR=OFF \ -DWITH_EIGEN=OFF \ -DBUILD_TESTS=OFF \ -DBUILD_PERF_TESTS=OFF 2>&1 | tee -a ${LOG}

OpenFrameWorksのアドオンとしては画像処理アルゴリズムを提供できればよいので,JASPERやGSTREAMER,pythonのバインディングなどの機能は必要ないです.また計算系のライブラリ(IPPやEIGEN)などは,CMakeでリンクすれば可能ですが無くても動きます.上記の内容で設定した場合,contribモジュールの幾つかがビルドできない場合がありました.dnn系のビルドはチェックを外したほうがよいです.
また,opencv3.4系のバグかもしれないですが,CV_TRACEを外さないとビルドができなようです.

最終的に以下の様な設定になると思います.

WITH_1394=ON WITH_ARAVIS=OFF WITH_AVFOUNDATION=ON WITH_CARBON=OFF WITH_CLP=OFF WITH_CUBLAS=OFF WITH_CUDA=OFF WITH_CUFFT=ON WITH_EIGEN=OFF WITH_FFMPEG=OFF WITH_GDAL=OFF WITH_GDCM=OFF WITH_GIGEAPI=OFF WITH_GPHOTO2=ON WITH_GSTREAMER=OFF WITH_GSTREAMER_0_10=OFF WITH_HALIDE=OFF WITH_INF_ENGINE=OFF WITH_IPP=OFF WITH_ITT=ON WITH_JASPER=OFF WITH_JPEG=ON WITH_LAPACK=OFF WITH_MATLAB=OFF WITH_MFX=OFF WITH_OPENCL=OFF WITH_OPENCLAMDBLAS=OFF WITH_OPENCLAMDFFT=OFF WITH_OPENCL_SVM=OFF WITH_OPENEXR=ON WITH_OPENGL=OFF WITH_OPENMP=OFF WITH_OPENNI=OFF WITH_OPENNI2=OFF WITH_OPENVX=OFF WITH_PNG=ON WITH_PROTOBUF=OFF WITH_PTHREADS_PF=ON WITH_PVAPI=OFF WITH_QT=OFF WITH_QTKIT=OFF WITH_QUICKTIME=OFF WITH_TBB=OFF WITH_TIFF=ON WITH_VA=OFF WITH_VA_INTEL=OFF WITH_VTK=OFF WITH_WEBP=ON WITH_XIMEA=OFF //----------------------- BUILD_CUDA_STUBS=OFF BUILD_DOCS=OFF BUILD_EXAMPLES=OFF BUILD_FAT_JAVA_LIB=OFF BUILD_IPP_IW=ON BUILD_ITT=ON BUILD_JASPER=OFF BUILD_JAVA=OFF BUILD_JPEG=ON BUILD_LIST= BUILD_OPENEXR=ON BUILD_PACKAGE=ON BUILD_PERF_TESTS=OFF BUILD_PNG=ON BUILD_PROTOBUF=OFF BUILD_SHARED_LIBS=OFF BUILD_TBB=OFF BUILD_TESTS=OFF BUILD_TIFF=ON BUILD_USE_SYMLINKS=OFF BUILD_WEBP=ON BUILD_WITH_DEBUG_INFO=OFF BUILD_WITH_DYNAMIC_IPP=OFF BUILD_ZLIB=ON BUILD_opencv_apps=ON BUILD_opencv_aruco=ON BUILD_opencv_bgsegm=ON BUILD_opencv_bioinspired=ON BUILD_opencv_calib3d=ON BUILD_opencv_ccalib=ON BUILD_opencv_core=ON BUILD_opencv_datasets=ON BUILD_opencv_dnn=OFF BUILD_opencv_dnn_objdetect=OFF BUILD_opencv_dpm=ON BUILD_opencv_face=ON BUILD_opencv_features2d=ON BUILD_opencv_flann=ON BUILD_opencv_fuzzy=ON BUILD_opencv_hfs=ON BUILD_opencv_highgui=ON BUILD_opencv_img_hash=ON BUILD_opencv_imgcodecs=ON BUILD_opencv_imgproc=ON BUILD_opencv_java_bindings_generator=OFF BUILD_opencv_js=OFF BUILD_opencv_line_descriptor=ON BUILD_opencv_ml=ON BUILD_opencv_objdetect=ON BUILD_opencv_optflow=ON BUILD_opencv_phase_unwrapping=ON BUILD_opencv_photo=ON BUILD_opencv_plot=ON BUILD_opencv_python2=OFF BUILD_opencv_python_bindings_generator=OFF BUILD_opencv_reg=ON BUILD_opencv_rgbd=ON BUILD_opencv_saliency=ON BUILD_opencv_shape=ON BUILD_opencv_stereo=ON BUILD_opencv_stitching=ON BUILD_opencv_structured_light=ON BUILD_opencv_superres=ON BUILD_opencv_surface_matching=ON BUILD_opencv_text=ON BUILD_opencv_tracking=ON BUILD_opencv_ts=ON BUILD_opencv_video=ON BUILD_opencv_videoio=ON BUILD_opencv_videostab=ON BUILD_opencv_world=ON BUILD_opencv_xfeatures2d=ON BUILD_opencv_ximgproc=ON BUILD_opencv_xobjdetect=ON BUILD_opencv_xphoto=ON

投稿2018/07/05 00:03

K_Hotta

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ks-cap

2018/07/05 08:05

ご返信のほどありがとうございます. 上記を参考に実行したところ, installの際に modules/calib3d/src/ap3p.cpp で No matching member function for call to 'real' とエラーが出力されてしまいました... ちなみにopenCv, openCv-contribは最新バージョン4.3.2を使用しました.
ks-cap

2018/07/05 10:40

無事動きました!! 上記を参考に実行したところ, installの際に modules/calib3d/src/ap3p.cpp で No matching member function for call to 'real' がでたりまた別のエラーが出たりしたので, 何度か一旦ダウンロードからやり直し上記の通りcmakeしbuildしたところ上手くいきました. 私自身いまいち原因は分からずじまいでした...笑
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問