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

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

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

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

OpenCV

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

Q&A

1回答

9972閲覧

CmakeでOpenCVを使いたいのですがCmake-guiのほうでエラーが出てしまい上手くいきません。

aiueoaiueoaiue

総合スコア94

CMake

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

OpenCV

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

0グッド

0クリップ

投稿2017/10/27 09:32

編集2017/10/28 14:55

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
CmakeでOpenCVを使いたいのですがCmake-guiのほうでエラーが出てしまい上手くいきません。色々似た質問などもネットで見つけはしたんですがどれも上手くいきませんでした。ちなみにSpecify the generator for this projectは Visual Studio 15 2017 win64を選びました。エラーメッセージを見た限りではC++のコンパイラがないという事だと思うのですが、コンパイラを入れるために色んなサイトを見て試行錯誤しても上手くいきませんでした。解決できる方お願いします。

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

エラーメッセージ CMake Deprecation Warning at CMakeLists.txt:72 (cmake_policy): The OLD behavior for policy CMP0022 will be removed from a future version of CMake. The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. CMake Deprecation Warning at CMakeLists.txt:77 (cmake_policy): The OLD behavior for policy CMP0026 will be removed from a future version of CMake. The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. The CXX compiler identification is unknown The C compiler identification is unknown CMake Error at CMakeLists.txt:93 (project): No CMAKE_CXX_COMPILER could be found. CMake Error at CMakeLists.txt:93 (project): No CMAKE_C_COMPILER could be found. ###試したこと https://msdn.microsoft.com/ja-jp/library/7s88b19e.aspxの通りビルドしてみたのですがエラーはそのままでした。 https://teratail.com/questions/51408 この方の症状と酷似していたのですがvisualstudioのverを確認しても解決はしませんでした。 ###補足情報(言語/FW/ツール等のバージョンなど) 環境は Windows 10  64ビット オペレーティング システム,x64 ベース プロセッサ opencv-3.1.0 cmake-3.10.0-rc3 です。

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

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

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

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

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

guest

回答1

0

こんにちは。

Visual Studio 2017のインストールする時、VC++はインストールしていますか?
これはオプションなのでデフォルトではインストールされません。

下記にてVC++のインストール方法を記載してます。よかったら参考にされて下さい。
第12回目 Visual Studio 2017 Communityを準備する

投稿2017/10/27 09:46

Chironian

総合スコア23272

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

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

aiueoaiueoaiue

2017/10/27 11:27

サイトを見て作業中なのですが、まずhello.cppを作ると言うのが出来ません。visualstudioで作ろうとしてもソースを打ち込むところがないというか・・・。
Chironian

2017/10/27 12:22

あああ、ごめんなさい。Windowsのメモ帳を起動して入力するとよいです。
aiueoaiueoaiue

2017/10/27 15:22

作業しているうちにvisualstudioが起動しなくなってしまいました。起動ボタンを押してもドキュメントが開くだけで・・・。
Chironian

2017/10/27 15:39

不思議ですね。そのようなことが発生し得るような危険な手順は一切書いていない筈なのですが。 セオリー通り、Windowsを再起動してみる。それでもVSが起動しないなら、VSを上書き(修復)インストールしてみるくらいで通常は回復します。
aiueoaiueoaiue

2017/10/27 15:56

修復により起動は再びできるようになりました。
aiueoaiueoaiue

2017/10/28 12:54

コマンドプロンプトで最後のCmakeコマンドを入力してみたのですがサイトとは違いエラーが出てしまいました。 CMake Error at CMakeLists.txt:3: Parse error. Expected a command name, got unquoted argument with text "    set". -- Configuring incomplete, errors occurred! というエラーが出ました。
Chironian

2017/10/28 13:30

えっとset前のスペースとして「全角スペース」を入力されていると思います。 多くの開発ツールは文字列以外の場所で「全角スペース」は使えません。 半角スペースを入れて下さい。
aiueoaiueoaiue

2017/10/28 13:49

先ほどのエラーは消えましたが今度は新たなエラーが・・・。 CMake Error at CMakeLists.txt:1 (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. 2017/10/28 22:42:01 にビルドを開始しました。 ノード 1 上のプロジェクト "C:\Users\○○\Documents\build\CMakeFiles\3.9.4\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 バージョン 8.1 が見つかりませんでした。必要なバージョンの Windows SDK をインストールするか、プロジェクト プロパティ ページで SDK バージョンを変更するか、ソリューションを右クリックして [ソリューションの再ターゲット] を選択してください。 [C:\Users\○○\Documents\build\CMakeFiles\3.9.4\VCTargetsPath.vcxproj] プロジェクト "C:\Users\○○\Documents\build\CMakeFiles\3.9.4\VCTargetsPath.vcxproj" (既定のターゲット) のビルドが終了しました -- 失敗。 ビルドに失敗しました。 "C:\Users\○○\Documents\build\CMakeFiles\3.9.4\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 バージョン 8.1 が見つかりませんでした。必要なバージョンの Windows SDK をインストールするか、プロジェクト プロパティ ページで SDK バージョンを変更するか、ソリューションを右クリックして [ソリューションの再ターゲット] を選択してください。 [C:\Users\○○\Documents\build\CMakeFiles\3.9.4\VCTargetsPath.vcxproj] 0 個の警告 1 エラー 経過時間 00:00:03.95 Exit code: 1 -- Configuring incomplete, errors occurred! See also "C:/Users/○○/Documents/build/CMakeFiles/CMakeOutput.log". C:\Users\○○\Documents\build> というものです・・・。
Chironian

2017/10/28 14:30

VC++のインストールに失敗しているように見えます。 下記の手順はきちんと実施できていますか? > 1-2-3.オプションを設定します。 > 「C++によるデスクトップ開発」を選択し、「インストール」をクリックして下さい。 再度Visual Studio Installer(WindowsメニューのV欄に登録されている筈です)を起動し、Visual Studio Community 2017の変更を押して確認して下さい。
aiueoaiueoaiue

2017/10/28 15:00

今再インストール中なのですが、現在VC++がインストールされるはずのフォルダの中身がCommon7 DesignTools DIASDK ImportProjects JavaScript Licenses MSBuild SDK TeamTools VB VC VC# VSSDK Web Xml という15のフォルダがあるのですが、何が足りないのでしょう?
aiueoaiueoaiue

2017/10/28 15:13

ちなみに再インストールしても同じエラーが出ました。
Chironian

2017/10/28 18:47

VCフォルダがあるのであればVC++はインストールできているような気もしますが、良く分かりません。その状況を経験したことはないです。 標準インストールではWindows SDK 8.1はインストールされないのに、なぜ8.1が選択されるのか不思議です。また、私のところではVCTargetsPath.vcxprojファイルはできていません。こちらとはかなり状況が異なるようです。 上記エラーメッセージにあるbuildフォルダは「第12回目 Visual Studio 2017 Communityを準備する 」の手順で作成したものですよね? であれば、一度buildフォルダをフォルダ毎削除して再度mkdir buildからやり直してみると良いかも知れません。 CMakeはカレントフォルダに色々情報を記録するので、一度失敗すると二度とうまく行かなくなることがありますから、一度消してやり直してみるのは有効な手です。 buildフォルダの削除でうまくいかない場合ですが、同様なエラーが出ている人がいます。もしかすると、これと同じ対処をすると良いかも知れません。 http://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=4107
aiueoaiueoaiue

2017/10/29 14:53

buildを削除してもURLの方法を試してみてもSDK8.1のところが10.0.15063.0に変わったエラーが出ました。もちろんvisualstudioでそれもインストールしてみたのですが、まったく変化はありませんでした。 もしかしたらインストールする場所やbuildフォルダをドキュメントの直下に作ったのが間違いなのでしょうか?
Chironian

2017/10/30 03:39

恐らくそれはないとは思いますが、試しにドライブのルート直下にフォルダを作って、そこにソースとCMakeLists.txtをいれてトライしてみても良いと思います。 これらの操作で回復しないとするとかなり重症です。復元ポイントを作ってからVisual Studioをアンインストール→再インストールしてみるのも手でしょう。 それでもダメなら、私が思いつくのはWindowsのクリーン・インストールです。
aiueoaiueoaiue

2017/10/31 13:29

エラーメッセージは前と変わりました。 C:\>cd build C:\build>cmake -G "Visual Studio 15 2017" .. CMake Error: The current CMakeCache.txt directory C:/build/CMakeCache.txt is different than the directory c:/Users/○○/Documents/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt CMake Error: The source "C://CMakeLists.txt" does not match the source "C:/Users/○○/Documents/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory. というものになりました。Cドライブ直下がまずそうに見えます。
Chironian

2017/10/31 13:46

えっと色々間違ってます。私のアドバイスを良く読んで、記載の通りに作業してみて下さい。 私はC:\の直下にソースを入れるようには書いていませんし、buildフォルダをコピーすることも記載していません。 他の部分でも私の記載とは異なる作業をされている可能性がありそうです。 そうなるとネット越しでは如何ともできません。申し訳ありませんが、この辺でアドバイスを終了させて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問