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

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

ただいまの
回答率

90.51%

  • OpenCV

    1077questions

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

  • CMake

    71questions

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

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

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,523

aiueoaiueoaiue

score 74

前提・実現したいこと

ここに質問したいことを詳細に書いてください
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 
です。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

+1

こんにちは。

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/10/27 20:27

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

    キャンセル

  • 2017/10/27 21:22

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

    キャンセル

  • 2017/10/28 00:22

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

    キャンセル

  • 2017/10/28 00:39

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

    キャンセル

  • 2017/10/28 00:56

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

    キャンセル

  • 2017/10/28 21:54

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


    -- Configuring incomplete, errors occurred!
    というエラーが出ました。

    キャンセル

  • 2017/10/28 22:30

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

    キャンセル

  • 2017/10/28 22: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>


    というものです・・・。

    キャンセル

  • 2017/10/28 23:30

    VC++のインストールに失敗しているように見えます。

    下記の手順はきちんと実施できていますか?
    > 1-2-3.オプションを設定します。
    > 「C++によるデスクトップ開発」を選択し、「インストール」をクリックして下さい。

    再度Visual Studio Installer(WindowsメニューのV欄に登録されている筈です)を起動し、Visual Studio Community 2017の変更を押して確認して下さい。

    キャンセル

  • 2017/10/29 00:00

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

    キャンセル

  • 2017/10/29 00:13

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

    キャンセル

  • 2017/10/29 03: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

    キャンセル

  • 2017/10/29 23:53

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

    キャンセル

  • 2017/10/30 12:39

    恐らくそれはないとは思いますが、試しにドライブのルート直下にフォルダを作って、そこにソースとCMakeLists.txtをいれてトライしてみても良いと思います。

    これらの操作で回復しないとするとかなり重症です。復元ポイントを作ってからVisual Studioをアンインストール→再インストールしてみるのも手でしょう。
    それでもダメなら、私が思いつくのはWindowsのクリーン・インストールです。

    キャンセル

  • 2017/10/31 22: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ドライブ直下がまずそうに見えます。

    キャンセル

  • 2017/10/31 22:46

    えっと色々間違ってます。私のアドバイスを良く読んで、記載の通りに作業してみて下さい。
    私はC:\の直下にソースを入れるようには書いていませんし、buildフォルダをコピーすることも記載していません。

    他の部分でも私の記載とは異なる作業をされている可能性がありそうです。
    そうなるとネット越しでは如何ともできません。申し訳ありませんが、この辺でアドバイスを終了させて頂きます。

    キャンセル

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

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

関連した質問

  • 受付中

    テスト環境でPHP5.3を使いたい

    クライアントの環境がPHP5.3~だった場合のテスト環境を用意したいのですが、 Macのターミナルからyumでインストールしようとすると... $ sudo yum instal

  • 解決済

    ansible環境変数参照時にエラー

    前提・実現したいこと Ansibleで環境変数を参照してコマンドを実行したいのですが、 group_vars/all で宣言している変数参照時にエラーが出てしまいます。 書式な

  • 受付中

    pipがアップグレードできません

    前提・実現したいこと 先日PCにPython2.7を導入したのですが、pipがアップグレードできずに困っています。 下記のようなエラーが出てしまい、pipを使用することができず

  • 受付中

    Android Studio を構築しましたが、最初のHellowWorldが表示できなくて困ってい...

    より詳細な情報 前提・実現したいこと スマホのプログラムを勉強したくてAndroid Studio を構築しましたが、 最初のHellowWorldが表示できません。エラ

  • 解決済

    sublimeのビルドシステムについて

    こんにちは、今回sublimeでC#を勉強中のものです  ノートパソコンの容量が少なくVSは利用できません  先に新環境に慣れておこうと思って切り替えたのですが  build

  • 受付中

    Tomcatが上手く起動しない

    前提・実現したいこと アプリケーションの開発初心者です。 これから勉強しようとしています。 こちらでの質問も初めてですが、 皆様のお力をどうかお貸しください。 発生し

  • 解決済

    UnityのiOSビルドで画面端を2回スワイプしないと通知バーが出ないようにしたい。

    Unityで横画面のフルスクリーンのゲームを作っているのですが、画面端からスワイプすると通知バーが出てしまいゲームの操作が阻害されてしまいます。 幾つかのゲームでは、画面端を2

  • 解決済

    rsyslogのファイル名について

    /var/log 配下に作成される syslog.2.gz syslog.3.gz syslog.4.gz 上記のファイル名を syslog.YYY.MM.DD.gzに変更する

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

  • OpenCV

    1077questions

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

  • CMake

    71questions

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