Visual Studio 2015をインストールし、以前のプロジェクトでCMakeを実行したところ、CMakeが「Cコンパイラが見つからない」とエラーになりました。
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
VisualStudioのフォルダ、C:˶‾Program FilesMicrosoft Visual Studio 14.0
の中にあるcl.exe
を探しましたが、見つかりませんでした。
Visual Studio 2015でCMakeがWindowsで動作するように設定するにはどうすればよいですか?
以下は、私に有効だった解決策です:<br>;
1.Visual Studioのコマンドプロンプトツールを開きます(管理者として)。windows10では 'Developer command prompt'と呼ばれている場合があります。 2.CMakeの実行ファイルがある場所に移動します。 3.Cmake.exeを実行します。 4.通常通り、ビルドフォルダとソースフォルダを選択します。 5.Visual Studioのコンパイラを選択し、configureボタンを押します。
うまくいけば、問題なく実行されるはずです。
CMakeError.logファイルを調べたところ、「rc.exeを実行できません」に関するエラーが見つかりました。
この回答を検索して見つけ、RC.ExeとRcDll.DllをMicrosoft SDKのビンからVCビンにコピーし、CMakeが機能しました。
----------。
編集:別の質問への一番の答えは、それがPATHの問題であることを示唆しているため、Microsoft SDKビンがPATHにあることを確認するのに十分である可能性があります。。
上記のソリューションが機能しない場合は、停止して健全性チェックを行います。
間違った -G< config>
文字列を使用してやけどを負い、誤解を招くエラーが発生しました。
まず、VSコマンドプロンプトから通常のコマンドプロンプト not を実行します。 あなたはそれを見つけることができます。
スタートメニュー-> Visual Studio 2015 -> MSBuildコマンドプロンプト(VS2015用)
これにより、VSツールなどへの正しいパスがすべて設定されます。
次に、cmakeから利用可能なジェネレーターを確認します。..
cmake -help
。
``。
< snip>。..このプラットフォームでは、次の発電機を使用できます。 Visual Studio 15 [arch] = Visual Studio 15プロジェクトファイルを生成します。 オプションの[arch]は、「Win64」または「ARM」にすることができます。 Visual Studio 14 2015 [arch] = Visual Studio 2015プロジェクトファイルを生成します。 オプションの[arch]は、「Win64」または「ARM」にすることができます。 Visual Studio 12 2013 [arch] = Visual Studio 2013プロジェクトファイルを生成します。 オプションの[arch]は、「Win64」または「ARM」にすることができます。 Visual Studio 11 2012 [arch] = Visual Studio 2012プロジェクトファイルを生成します。 オプションの[arch]は、「Win64」または「ARM」にすることができます。 Visual Studio 10 2010 [arch] = Visual Studio 2010プロジェクトファイルを生成します。 オプションの[arch]は、「Win64」または「IA64」にすることができます。 ... ``。次に、[arch]を追加した適切な文字列を with で選択しました。
cd _build。
cmake。 .. -G "Visual Studio 15 Win64"。
``。
サブディレクトリでcmakeを実行すると、そのディレクトリのすべてを削除できるので、「クリーン」を実行しやすくなります。
Visual Studio 15にアップグレードしましたが、注意を払っていなかったため、2012年に生成しようとしていました。
私は CMakeError.log
ファイルを確認したところ、次のことがわかりました。
[。..]エラーMSB8036:Windows SDKバージョン8.1が見つかりませんでした。 必要なバージョンのWindows SDKをインストールするか、プロジェクトのプロパティページでSDKバージョンを変更するか、ソリューションを右クリックして[ソリューションの再ターゲット]を選択します。
これは、Windows& nbsp; 7でVisual Studio 2017を使用しているにもかかわらずです。 したがって、CMakeはWindows 8.1 SDKを使用して検出プロジェクトを構築しようとしているようです。
Visual Studioインストーラーを使用してそのコンポーネントを追加しましたが、CMakeはハマグリとして満足しています。
メニュー→Visual Studio 2015→MSBuildコマンドプロンプト(Visual& nbsp; Studio& nbsp; 2015)。 次に、CMakeは cl.exe
を見つけることができます。
set PATH="c:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\";%PATH%
上のパスをWindows SDKがインストールされている場所に変更します。
CMakeは rc.exe
を見つけることができます。
CMakeLists.txt
のパスにcdし、実行します。
md .build
cd .build
cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Release
cmake --build .
-G
の後のパラメータはCMakeで取得する必要があります。 --help
を使用します。発電機がある場合とない場合があります。
Visual& nbsp; Studio& nbsp; 2015 Professionalを使用しているときにWindows& nbsp; 10でこの問題が発生しましたが、Visual& nbsp; Studio& nbsp; 2015 Expressは機能しました。! Windows& nbsp; 7では、両方のVisual Studioバージョンが動作していました。
Visual& nbsp; Studio& nbsp; 2015 Professional IDEから作成された新しいプロジェクトは正常にコンパイルされましたが、CMakeはコンパイラレポートを見つけることができませんでした。
The C compiler identification is unknown
The CXX compiler identification is unknown
CMakeを3.4.1から3.11.4にアップグレードしましたが、問題はなくなりました。
私の場合、問題は親プロジェクトであり、これにはgoogletest viaが含まれています。
add_subdirectory(gtest_dir)
として定義されました。
PROJECT( projname CXX )
どういうわけか、CMakeは認識しません。
PROJECT(sub_project_name CXX C)
Cコンパイラが親に設定されていないため。
使って問題を解決しました。
PROJECT( projname CXX C)
私のメインの「CMakeLists.txt」ファイル。
いくつかのヒント:
-「詳細」をチェックしてCMAKE_LINKERとCMAKE_MAKE_PROGRAMを変更して、パスを手動で設定してみてください。 -キャッシュを削除します-GUIを使用したCMakeでは、次の操作を行います。 ファイル→キャッシュを削除します。
私の問題は、前述の組み合わせでした。コンパイラのバージョンを14ではなく15に設定し、修正したら、キャッシュを削除する必要がありました。
また、管理者としてVisual Studioコマンドプロンプトを起動し、そこからcmake-gui.exeを実行しました。
その後、すべてが想定どおりに機能しました。
私の場合、「CMakeError.log」でCMakeがWindows SDKを見つけられなかったことがわかりました(「MSB8003:レジストリからWindowsSDKDir変数を見つけることができませんでした」)。
バージョンは、次のコマンドを使用して、最初のCMake実行のコマンドラインで指定できます。
-DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=
設定後にさらに進めましたが、後でさらに問題が発生しました(そのため、環境がどういうわけかめちゃくちゃになっていると思います)が、この問題の誰かを助けるかもしれません。
以前のソリューションはどれも機能しませんでした。 ただし、Visual& nbsp; Studioバージョン15をインストールしましたが(Visual& nbsp; Studio& nbsp; 2015と混同しないでください)、コンピューターで作成されたディレクトリはVisual Studio 14用であることに気づきました。
構成ボタンを押したときにVisual Studio 14を指定すると、動作しました。
CMakeを通じて生成されたVisual& nbsp; Studio& nbsp; 2017プロジェクトにも同様の問題がありました。 C ++を使用したデスクトップ開発にVisual Studioをインストールするときに、一部のパッケージが欠落していました。 スナップショットを参照してください。
Visual& nbsp; Studio& nbsp; 2017パッケージ:。
。。
また、CMakeを最新バージョンにアップグレードします。