2010を使用してVC++コードをビルドしようとすると、エラーメッセージが表示されます
> C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 1.
これを克服する方法を教えてください?
Error List Tab
次のいずれかの方法でVisual Studio Output
フォルダーに移動します。
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.
error MSB6006: "cmd.exe"
はコード-Solved
で終了しました
私もこの問題に直面しています。私の場合、output exe
がすでに実行されているためです。ビルド前にアプリケーションインスタンスを閉じるだけで問題が解決しました。
今日、VC6プロジェクトをVC2012にアップグレードしているときに、同じ問題が発生しました。
私の場合、カスタムビルトステップの操作の一部が失敗したためです。プロジェクトのプロパティで、[カスタムビルドステップ]に移動すると、コマンドラインの編集ボックスに何かが表示されます。 Windowsプロンプトを開き、コマンドを貼り付けます。実行し、何か問題があるかどうかを確認して修正します。
プロジェクトプロパティCustom Built Stepにコマンドラインがない場合は、プロジェクトのすべてのファイルのプロパティを確認する必要があります。
コマンドラインにマクロがある場合は、実際の値に置き換えます。
または、VS出力ウィンドウでコマンドをエコーできます。
cd %(somedir)%
echo %(somedir)%
この方法を見逃すことはありません。
これを解決しました。このエラーをダブルクリックすると、動作につながります。
私の場合。デバッグとリリース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>
実際にビルドを削除し(きれいにします)、コンパイラーを再起動し、ビルドし直して問題を解決しました。
私も同様の問題に直面しました。
ソースパスには、「スペース」のあるディレクトリが1つありました(D:/ source 2012)。スペース(D:/ source2012)を削除することでこれを解決しました。
将来の読者のために。私の問題は、CMAKEを介してプログラムをビルドするために、互換性のないopensslライブラリを指定していたことです。プロジェクトは生成されましたが、他の有用な情報やエラーなしでこのエラーでビルドが失敗し始めました。冗長なcmake/compilationログも役に立ちませんでした。
私のテイクアウェイレッスンは、プログラムが他のサードパーティライブラリに依存している場合の非互換性をクロスチェックすることです。
チェックアウトされるまですべてのファイルが読み取り専用のバージョン管理システム(Perforceなど)で作業している場合、問題はこのバージョン管理システムにVSファイルの1つ(フィルターなど)とファイルを誤って送信したことです。ビルド中にオーバーライドすることはできません。
作業ディレクトリに移動して、VSソリューション関連のファイルおよび一時的に作成されたファイル(たとえば、QTのすべてのmoc_およびui_プレフィックスファイルなど)が読み取り専用でないことを確認してください。
シンプルで優れたソリューション:%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は正常に動作します。
別の解決策としては、プロジェクト内でファイルを削除するのではなく、ファイルシステムでファイルを削除するだけで、プロジェクトからファイルを削除することもできます。