web-dev-qa-db-ja.com

エラーMSB6006: "cmd.exe"はコード1で終了しました

2010を使用してVC++コードをビルドしようとすると、エラーメッセージが表示されます

> C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 1.

これを克服する方法を教えてください?

22
user1782464

Error List Tab次のいずれかの方法でVisual Studio Outputフォルダーに移動します。

  • 下部の標準VSビューでOutputタブを選択します
  • メニューバーView > OutputまたはCtrl+Alt+O

ここで、Show output from <build>を選択する必要があります。

詳細については、出力ログを分析して確認できます。


私の場合、Cmakeステップのエラーでした。以下を参照してください。他の回答で説明されているように、それはどのビルドステップでも可能です。

> -- Build Type is debug 
> CMake Error in CMakeLists.txt:
>     A logical block opening on the line
>     <path_to_file:line_number>    
>     is not closed.
8
vasquez

error MSB6006: "cmd.exe"はコード-Solvedで終了しました

私もこの問題に直面しています。私の場合、output exeがすでに実行されているためです。ビルド前にアプリケーションインスタンスを閉じるだけで問題が解決しました。

5
CLIFFORD P Y

今日、VC6プロジェクトをVC2012にアップグレードしているときに、同じ問題が発生しました。

私の場合、カスタムビルトステップの操作の一部が失敗したためです。プロジェクトのプロパティで、[カスタムビルドステップ]に移動すると、コマンドラインの編集ボックスに何かが表示されます。 Windowsプロンプトを開き、コマンドを貼り付けます。実行し、何か問題があるかどうかを確認して修正します。

プロジェクトプロパティCustom Built Stepにコマンドラインがない場合は、プロジェクトのすべてのファイルのプロパティを確認する必要があります。

コマンドラインにマクロがある場合は、実際の値に置き換えます。

または、VS出力ウィンドウでコマンドをエコーできます。

  • cd %(somedir)%
  • echo %(somedir)%

この方法を見逃すことはありません。

4
Joey Yu

これを解決しました。このエラーをダブルクリックすると、動作につながります。

  1. プロジェクトの.vcxprojファイルを開きます
  2. タグを検索
  3. このタグ内で何が起こっているかを注意深く確認してください、パスは正しいですか?デバッグとリリースの違い、修正
  4. きれいにして再構築

私の場合。デバッグとリリースmodの不一致が私の午後を殺します。

          <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy ..\vc2005\%(Filename)%(Extension) ..\..\cvd\
</Command>
      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy ..\vc2005\%(Filename)%(Extension) ..\..\cvd\
</Command>
      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\cvd\%(Filename)%(Extension);%(Outputs)</Outputs>
      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\cvd\%(Filename)%(Extension);%(Outputs)</Outputs>
      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy ..\vc2005\%(Filename)%(Extension) ..\..\cvd\
</Command>
      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy %(Filename)%(Extension) ..\..\cvd\
</Command>
      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\cvd\%(Filename)%(Extension);%(Outputs)</Outputs>
      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\cvd\%(Filename)%(Extension);%(Outputs)</Outputs>
    </CustomBuild>
2
flankechen

実際にビルドを削除し(きれいにします)、コンパイラーを再起動し、ビルドし直して問題を解決しました。

2
T Mess

私も同様の問題に直面しました。

ソースパスには、「スペース」のあるディレクトリが1つありました(D:/ source 2012)。スペース(D:/ source2012)を削除することでこれを解決しました。

2
Mukesh Chauhan

将来の読者のために。私の問題は、CMAKEを介してプログラムをビルドするために、互換性のないopensslライブラリを指定していたことです。プロジェクトは生成されましたが、他の有用な情報やエラーなしでこのエラーでビルドが失敗し始めました。冗長なcmake/compilationログも役に立ちませんでした。

私のテイクアウェイレッスンは、プログラムが他のサードパーティライブラリに依存している場合の非互換性をクロスチェックすることです。

1
irsis

チェックアウトされるまですべてのファイルが読み取り専用のバージョン管理システム(Perforceなど)で作業している場合、問題はこのバージョン管理システムにVSファイルの1つ(フィルターなど)とファイルを誤って送信したことです。ビルド中にオーバーライドすることはできません。

作業ディレクトリに移動して、VSソリューション関連のファイルおよび一時的に作成されたファイル(たとえば、QTのすべてのmoc_およびui_プレフィックスファイルなど)が読み取り専用でないことを確認してください。

0
Flot2011

シンプルで優れたソリューション:%WINDIR%\ Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MyProject.slnこのようなbatファイルを作成します%WINDIR%\ Microsoft.NET\Framework\v4.0.30319\MSBuild.exe D:\ GESTION-SOMECOPA\GestionCommercial\GestionCommercial.sln pause

その後、すべてのエラーを確認して修正できます。フォルダ名を変更すると(上記のようにスペースなしで)別の問題が発生するためです。この後、Visual Studio 2015は正常に動作します。

0
Abdellatif Med

別の解決策としては、プロジェクト内でファイルを削除するのではなく、ファイルシステムでファイルを削除するだけで、プロジェクトからファイルを削除することもできます。

0
Delfintoaster