7

「Cコンパイラ「cl」が単純なテストプログラムをコンパイルできない」ことを誰かが知っていますか。意味?MSVC9でCMakeを使用してWt
を コンパイルしようとしています 。OSはWindowsXPです。 完全なログは次のとおりです。

動作しているCコンパイラをチェックします:cl動作しているCコンパイラをチェックします:cl --I:/ Program Files / CMake 2.8 / share / cmake-2.8 / Modules / CMakeTestCCompiler.cmake:50(MESSAGE)で壊れたCMakeエラー:Cコンパイラ " cl"は単純なテストプログラムをコンパイルできません。

次の出力で失敗します。

ディレクトリの変更:I:/ SophisPal / build / CMakeFiles / CMakeTmp

ビルドコマンドを実行します:C:\ PROGRA〜1 \ MICROS〜1.0 \ Common7 \ IDE \ VCExpress.exe CMAKE_TRY_COMPILE.sln / build Debug / project cmTryCompileExec

Microsoft(R)Visual C ++ExpressEditionバージョン9.0.30729.1。

Copyright(C)Microsoft Corp 2007.無断複写・転載を禁じます。

1> ------ビルド開始:プロジェクト:cmTryCompileExec、構成:Debug Win32 ------

1>コンパイル中...

1> Microsoft(R)32ビットC / C ++最適化コンパイラバージョン15.00.30729.01(80x86用)

1>著作権(C)マイクロソフトコーポレーション。全著作権所有。

1> cl / Od / D "WIN32" / D "_WINDOWS" / D "_D​​EBUG" / D "CMAKE_INTDIR = \" Debug \ ""
/ D "_MBCS" / FD / RTCs / MDd / Fo "cmTryCompileExec.dir \ Debug \ "
/ Fd" I:/SophisPal/build/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec.pdb "/ W3 / c / Zi / TC / Zm1000

1>。\testCCompiler.c

1> testCCompiler.c

1>マニフェストをリソースにコンパイルしています...

1> Microsoft(R)Windows(R)リソースコンパイラバージョン6.1.6723.1

1>著作権(C)マイクロソフトコーポレーション。全著作権所有。

1>リンク...

1>埋め込みマニフェスト...

1>プロジェクト:エラーPRJ0003:「cmd.exe」の生成中にエラーが発生しました。

1>ビルドログは
「file:// i:\ SophisPal \ build \ CMakeFiles \ CMakeTmp \ cmTryCompileExec.dir \ Debug\BuildLog.htm」に保存されました

1> cmTryCompileExec-1つのエラー、0つの警告

==========ビルド:0成功、1失敗、0最新、0スキップ==========

CMakeはこのプロジェクトを正しく生成できなくなります。コールスタック(最新の呼び出しが最初):
CMakeLists.txt:7(プロジェクト)

構成が不完全で、エラーが発生しました。

4

4 に答える 4

6

cmd.exeエラーをグーグルで検索し、このページを思いついた。Visual Studioは、cmd.exeの検索方法を認識できるように、いくつかのパスで構成する必要があるようです。そのスレッドからの手順は次のとおりです。

あなたがしなければならないことは、MSVSオプション([ツール]メニュー>[オプション]>[プロジェクトとソリューション]>[VC ++ディレクトリ])を変更して、次のことを確認することです。

$(SystemRoot)

$(SystemRoot)\ System32

$(SystemRoot)\ System32 \ wbem

$(PATH)の前に指定されます。

于 2009-12-13T13:34:11.870 に答える
2

インストールした他のツールがPATH変数を上書きしていないか確認してください。私の場合、これが発生し、症状(リンクエラー)はまったく同じでした。

于 2012-03-06T12:00:33.510 に答える
1

キーラインはおそらく次のとおりです。

1>Project : error PRJ0003 : Error spawning 'cmd.exe'.

何らかの理由で、MSVCは「cmd.exe」を実行できないため、コンパイルは失敗します。

問題は%PATH%の設定に関連しているのではないかと思います。トラブルには他の理由があるかもしれません。

CMakeが手動で行ったことを試してください-同じエラーが発生するかどうかを確認してください。これは、問題がCMake(コマンドラインから機能する場合)にあるのか、一般的な環境(どちらにも機能しない場合)にあるのかを診断するのに役立ちます。


エラーメッセージの読み方を学びましょう!

Change Dir: I:/SophisPal/build/CMakeFiles/CMakeTmp

Run Build Command:C:\PROGRA~1\MICROS~1.0\Common7\IDE\VCExpress.exe CMAKE_TRY_COMPILE.sln /build Debug /project cmTryCompileExec

これらは、出力の初期の2行です。1つ目は、CMakeが作成中のディレクトリの1つにディレクトリを変更したことを示します。2番目は、そこで実行されたコマンドを示します。また、コマンドを実行する前に、ディレクトリに作成されたファイルを確認する必要があります。

その情報が手元にあるので、同じ手順を実行する必要があります-「cd」の後に「vcexpress」が続きます。

于 2009-12-13T13:32:16.377 に答える
1

VS 7.NET2003でも同じ問題が発生しました。

追加することで修正

<MSVS .NET 2003 Home>\Vc7\bin
<MSVS .NET 2003 Home>\Common7\IDE

VC ++ディレクトリへのパス([ツール]メニュー>[オプション]>[プロジェクト]>[VC ++ディレクトリ])

問題の本当の原因は次のとおりです。

  1. cl.exeがシステムまたはMSVSパスに見つかりません。
  2. cl.exeにはmspdb71.dllが必要です。
于 2012-02-15T22:42:34.010 に答える