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

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

ただいまの
回答率

90.52%

  • C++

    3433questions

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

  • MacOS(OSX)

    1896questions

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

  • OpenCV

    1066questions

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

  • openFrameworks

    82questions

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

  • CMake

    70questions

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

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 412

Ken.Satooo

score 7

実現したいこと

顕著性マップを行うため, 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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+1

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/05 11:02

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

    キャンセル

checkベストアンサー

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 17:05

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

    キャンセル

  • 2018/07/05 19:40

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

    キャンセル

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

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • C++

    3433questions

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

  • MacOS(OSX)

    1896questions

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

  • OpenCV

    1066questions

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

  • openFrameworks

    82questions

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

  • CMake

    70questions

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