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

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

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

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

OpenCV

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

Q&A

解決済

1回答

1305閲覧

OpenCV3.4.1をCmakeでビルドしたい

aiueoaiueoaiue

総合スコア94

CMake

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

OpenCV

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

0グッド

0クリップ

投稿2018/04/06 17:13

編集2018/04/07 08:02

前提・実現したいこと

このサイトを参考にOpenCV3.4.1をCmakeでビルドしたかったのですが、<1>~<4>の設定した後再度「Configure」を行ったのですが、エラーが出てしまいました。解決策が分かる方回答お願いします。

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

Selecting Windows SDK version 10.0.15063.0 to target Windows 10.0.16299. CMake Error at CMakeLists.txt:127 (project): Failed to run MSBuild command: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe to get the value of VCTargetsPath: .NET Framework 向け Microsoft (R) Build Engine バージョン 15.4.8.50001 Copyright (C) Microsoft Corporation.All rights reserved. 2018/04/07 2:02:23 にビルドを開始しました。 ノード 1 上のプロジェクト "C:\opencv341\build\CMakeFiles\3.11.0\VCTargetsPath.vcxproj" (既定のターゲット)。 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\v141\Toolset.targets(34,5): error MSB8036: Windows SDK バージョン 10.0.15063.0 が見つかりませんでした。必要なバージョンの Windows SDK をインストールするか、プロジェクト プロパティ ページで SDK バージョンを変更するか、ソリューションを右クリックして [ソリューションの再ターゲット] を選択してください。 [C:\opencv341\build\CMakeFiles\3.11.0\VCTargetsPath.vcxproj] プロジェクト "C:\opencv341\build\CMakeFiles\3.11.0\VCTargetsPath.vcxproj" (既定のターゲット) のビルドが終了しました -- 失敗。 ビルドに失敗しました。 "C:\opencv341\build\CMakeFiles\3.11.0\VCTargetsPath.vcxproj" (既定のターゲット) (1) -> (Desktop_PlatformPrepareForBuild ターゲット) -> C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\v141\Toolset.targets(34,5): error MSB8036: Windows SDK バージョン 10.0.15063.0 が見つかりませんでした。必要なバージョンの Windows SDK をインストールするか、プロジェクト プロパティ ページで SDK バージョンを変更するか、ソリューションを右クリックして [ソリューションの再ターゲット] を選択してください。 [C:\opencv341\build\CMakeFiles\3.11.0\VCTargetsPath.vcxproj] 0 個の警告 1 エラー 経過時間 00:00:00.24 Exit code: 1 Configuring incomplete, errors occurred! See also "C:/opencv341/build/CMakeFiles/CMakeOutput.log".

現状のエラーメッセージ(追記)

Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "2.6") Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "3.4") Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "3.2") Performing Test HAVE_CPU_BASELINE_FLAGS Performing Test HAVE_CPU_BASELINE_FLAGS - Success Performing Test HAVE_CPU_DISPATCH_FLAGS_SSE4_1 Performing Test HAVE_CPU_DISPATCH_FLAGS_SSE4_1 - Success Performing Test HAVE_CPU_DISPATCH_FLAGS_SSE4_2 Performing Test HAVE_CPU_DISPATCH_FLAGS_SSE4_2 - Success Performing Test HAVE_CPU_DISPATCH_FLAGS_FP16 Performing Test HAVE_CPU_DISPATCH_FLAGS_FP16 - Success Performing Test HAVE_CPU_DISPATCH_FLAGS_AVX Performing Test HAVE_CPU_DISPATCH_FLAGS_AVX - Success found Intel IPP (ICV version): 2017.0.3 [2017.0.3] at: C:/opencv341/build/3rdparty/ippicv/ippicv_win found Intel IPP IW sources: 2017.0.3 at: C:/opencv341/build/3rdparty/ippicv/ippiw_win Could not find OpenBLAS include. Turning OpenBLAS_FOUND off Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off Could NOT find BLAS (missing: BLAS_LIBRARIES) LAPACK requires BLAS A library with LAPACK API not found. Please specify library location. Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) Could NOT find Matlab (missing: MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN) VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file CMake Error at cmake/OpenCVModule.cmake:368 (_glob_locations): Syntax error in cmake code at C:/opencv341/opencv-3.4.1/cmake/OpenCVModule.cmake:368 when parsing string C:\opencv341\opencv-3.4.1\modules Invalid escape sequence \o Call Stack (most recent call first): modules/CMakeLists.txt:7 (ocv_glob_modules) Configuring incomplete, errors occurred! See also "C:/opencv341/build/CMakeFiles/CMakeOutput.log". See also "C:/opencv341/build/CMakeFiles/CMakeError.log".

###modules/CMakeLists.txtの中身

add_definitions(-D__OPENCV_BUILD=1) if(NOT OPENCV_MODULES_PATH) set(OPENCV_MODULES_PATH "${CMAKE_CURRENT_SOURCE_DIR}") endif() ocv_glob_modules(${OPENCV_MODULES_PATH} ${OPENCV_EXTRA_MODULES_PATH}) # build lists of modules to be documented set(OPENCV_MODULES_MAIN "") set(OPENCV_MODULES_EXTRA "") foreach(mod ${OPENCV_MODULES_BUILD} ${OPENCV_MODULES_DISABLED_USER} ${OPENCV_MODULES_DISABLED_AUTO} ${OPENCV_MODULES_DISABLED_FORCE}) string(REGEX REPLACE "^opencv_" "" mod "${mod}") if("${OPENCV_MODULE_opencv_${mod}_LOCATION}" STREQUAL "${OpenCV_SOURCE_DIR}/modules/${mod}") list(APPEND OPENCV_MODULES_MAIN ${mod}) else() list(APPEND OPENCV_MODULES_EXTRA ${mod}) endif() endforeach() ocv_list_sort(OPENCV_MODULES_MAIN) ocv_list_sort(OPENCV_MODULES_EXTRA) set(FIXED_ORDER_MODULES core imgproc imgcodecs videoio highgui video calib3d features2d objdetect dnn ml flann photo stitching) list(REMOVE_ITEM OPENCV_MODULES_MAIN ${FIXED_ORDER_MODULES}) set(OPENCV_MODULES_MAIN ${FIXED_ORDER_MODULES} ${OPENCV_MODULES_MAIN}) set(OPENCV_MODULES_MAIN ${OPENCV_MODULES_MAIN} CACHE INTERNAL "List of main modules" FORCE) set(OPENCV_MODULES_EXTRA ${OPENCV_MODULES_EXTRA} CACHE INTERNAL "List of extra modules" FORCE)

試したこと

configure時のvisual studioの設定を色々変えてみたんですが、全てうまくいきませんでした。
「WITH_CUDA」「WITH_CUBLAS」「WITH_CUFFT」のチェックを外す。
「OPENCV_EXTRA_MODULES_PATH」に「C:\opencv341\opencv_contrib-3.4.1\modules」を設定。
BUILD_opencv_worldにチェックを入れる。
CMAKE_INSTALL_PREFIXに「C:/opencv341/install」を設定。

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

Windows10
OpenCV3.4.1
OpenCV_contrib3.4.1
Cmake3.11.0

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

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

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

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

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

guest

回答1

0

ベストアンサー

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\v141\Toolset.targets(34,5): error MSB8036: Windows SDK バージョン 10.0.15063.0 が見つかりませんでした。必要なバージョンの Windows SDK をインストールするか、プロジェクト プロパティ ページで SDK バージョンを変更するか、ソリューションを右クリックして [ソリューションの再ターゲット] を選択してください。 [C:\opencv341\build\CMakeFiles\3.11.0\VCTargetsPath.vcxproj]

エラーメッセージにWindwows SDKがインストールされていない事が示唆されています。

Visual Studio のインストーラからインストールの追加を行うなどしてみてください。

投稿2018/04/06 18:33

YomogiKOBO

総合スコア187

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

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

aiueoaiueoaiue

2018/04/07 07:40

ありがとうございます。おっしゃる通りにインストールするとエラーはなくなり一歩前進しました。しかし次は2回目のconfigureで別のエラーが発生してしまいました。
YomogiKOBO

2018/04/07 08:07

> at: C:/opencv341/build/3rdparty/ippicv/ippiw_win Could not find OpenBLAS include. Turning OpenBLAS_FOUND off Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off Could NOT find BLAS (missing: BLAS_LIBRARIES) LAPACK requires BLAS A library with LAPACK API not found. Please specify library location. BLASを必要としているようです。 configureにて出力されている内容からBLASに関連するファイルが依存関係にあるようです。 configureのオプションを調整しながら依存関係を解決してください。 他にも出てくるかもですがその際には出力されるエラーをもとにconfigureのオプションを調整してください。
aiueoaiueoaiue

2018/04/07 09:08

configureのオプションにBLASに関するものがなかったので直接OpenBLASをダウンロードしてきてC:/opencv341/build/3rdparty/ippicv/ippiw_winに解答したんですが、エラー内容が全く変わりませんでした。
YomogiKOBO

2018/04/07 09:16

依存関係とは "WITH_CUBLAS"のチェックON/OFFにも関係しています。 「WITH_CUDA」「WITH_CUBLAS」「WITH_CUFFT」他にもチェックON/OFFによって依存関係が変化するはずです。 全てをこちらで試す事はできませんのでaiueoaiueoaiueさんにて試行錯誤いただきたく。 為念。(念の為)
aiueoaiueoaiue

2018/04/07 09:54

あれからエラーを減らしたのですが、残りの Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) が解決できません。 後残りのエラーの CMake Error at cmake/OpenCVModule.cmake:368 (_glob_locations): Syntax error in cmake code at C:/opencv341/opencv-3.4.1/cmake/OpenCVModule.cmake:368 when parsing string C:\opencv341\opencv_contrib-3.4.1\modules Invalid escape sequence \o Call Stack (most recent call first): modules/CMakeLists.txt:7 (ocv_glob_modules) は無視してよいのでしょうか?
aiueoaiueoaiue

2018/04/07 10:08

すみません。¥と・/の違いでエラーが出ていたようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問