Visual Studio 2012を使用してWindows 7 64BitでCMake(v2.8.12)を使用してプロジェクトをコンパイルする際に問題が発生しています。CMakeから次のエラーが発生します。管理者権限を使用してVisual StudioコマンドラインからCmakeを起動しようとしました。 CMake 2.8.11にも同様のバグがあったようです。 http://www.cmake.org/Bug/view.php?id=1444
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:446 (execute_process):
execute_process given COMMAND argument with no value.
Call Stack (most recent call first):
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:48 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake:131 (CMAKE_DETERMINE_COMPILER_ID)
CMakeLists.txt:2 (project)
The C compiler identification is unknown
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:446 (execute_process):
execute_process given COMMAND argument with no value.
Call Stack (most recent call first):
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:48 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)
C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake:127 (CMAKE_DETERMINE_COMPILER_ID)
CMakeLists.txt:2 (project)
The CXX compiler identification is unknown
Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
CMake Warning at src/CMakeLists.txt:44 (message):
SWIG was not found. You will not be able to compile for C#.
Configuring incomplete, errors occurred!
See also "C:/Users/hci/laser_control/CMakeFiles/CMakeOutput.log".
See also "C:/Users/hci/laser_control/CMakeFiles/CMakeError.log".
私は同じ問題を抱えていて、管理者としてcmakeを実行して修正しました
それらのエラーメッセージ
The C compiler identification is unknown
The CXX compiler identification is unknown
cMakeはコンパイラを見つけた、または仮定したが、簡単なテストプログラムをコンパイルできなかったことを意味します。
CMakeFiles\CMakeError.log
を見て、そこにあるエラーメッセージを確認してください:
コンパイラを呼び出すエラーメッセージは何でしたか
例えばLINK : fatal error LNK1181: cannot open input file 'kernel32.lib'
--debug-trycompile
をcmake
呼び出しに追加すると、CMakeはコンパイルのテストを試みたファイルを保持します(したがって、cmd
Shell)。
最後にこの問題があったのは...
最後にこの問題が発生したのは、Visual Studio 2012 Professionalの標準インストールでWindows SDKがインストールされなかったときです(エラーログにはSDKヘッダーが表示されていませんでした)。
SDKのインストールを確認するには、たとえばリソースコンパイラがインストールされていることを確認してください。次のようなパスにある必要があります。
C:\Program Files (x86)\Microsoft SDKs\Windows\v[some version]\bin\RC.Exe
これがないか、より正確なSDKがなかったので、インストールしました Windows 8.1 SDK (Visual Studio 2012はWindows 8.xをターゲットにしているので)そしてCMakeが再び(テスト)プログラムをコンパイルできるようになりました。
参照
Microsoft Visual Studio 2012を使用している場合、KB2781514の更新が欠落している可能性があるため、同様の問題もありました。
次の更新プログラムをインストールした後、CMakeはVisual Studio 2012 c/c ++コンパイラを正しく検出し始めます。
http://www.Microsoft.com/en-us/download/details.aspx?id=3602
私は同じ問題を抱えていたので、"File -> Delete Cache"
、間違ったバージョンのVisual Studioを使用するようにCMakeを誤って設定したため。
私は同じ問題に直面しました。 Visual Studioからプロジェクトをビルドして実行してもうまくいきませんでした。しかし、次は私のために働いた:
それがあなたにとってもうまくいくことを願っています。
MSソフトウェアをいくつかアンインストールした後、この問題が発生しました。 Visual Studio 2012を修復して修正しました。まず[コントロールパネル]に移動し、次にVisual Studioを選択して修復します。
Visual Studioの適切なバージョンを選択してください。たとえば、Visual Studio 2012はバージョン11です。
Cmake 2.8.12とVisual Studio 10でも同じ問題が発生します。Cmakeがコンパイラを見つけられない場合があります。最新バージョンをアンインストールして問題を解決し、cmake 2.8.10をインストールしました。
CMake 3.4.0を使用している場合は、新しいバージョンにアップグレードしてください。これに関するバグは比較的最近修正されました( バグレポート を参照)。