1

VS2010 C++ プロジェクトで fortify を実行しようとしています。非常に単純な hello world プロジェクトを作成し、次のコマンドで fortify を実行しようとしました。

sourceanalyzer.exe -b sample devenv sample.sln /REBUILD

このエラーが発生し続けます:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB6006: "CL.exe" exited with code -1073741701.

完全なビルド ログは次のとおりです。

Microsoft (R) Visual Studio Version 10.0.30319.1.
Copyright (C) Microsoft Corp. All rights reserved.
1>------ Rebuild All started: Project: sample, Configuration: Debug Win
32 ------
1>Build started 09/07/2012 12:13:33 PM.
1>_PrepareForClean:
1>  Deleting file "Debug\sample.lastbuildstate".
1>InitializeBuildStatus:
1>  Creating "Debug\sample.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5): error MSB6006: "CL.exe" exited with code -1073741701.
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.09

追加のエラーは発生しませんでした。私のOSはWindows7 64ビットです。私のプロジェクトは 32 ビットのコンソール アプリケーションです。Fortify 32 ビットのバージョンを使用しています: "Fortify Source Code Analyzer 5.9.5.0007"

エラーについてマイクロソフトのページを閲覧してみましたが、明らかに一般的なエラー コードです。非互換性を疑っていますが、それを絞り込むことはできません。どこが間違っているのか教えてもらえますか?


更新: いくつかの詳細情報:

VS2010のcl.exeで、サクサク動きます。このエラーは、Fortify の cl.exe によってスローされます。エラーコードを確認したところ、cl.exeが起動できないようです。依存関係ウォーカーでクロスチェックしましたが、いくつかの dll (gpsvc.dll と IEShims.dll) がありません。64 ビットの Windows をインストールしていますが、cl.exe は 32 ビットであり、これらの DLL の 32 ビット バージョンはありません。これが根本的な原因であるかどうかはわかりません。遅延がロードされており、上記のエラーが発生しない可能性があるためです。

4

1 に答える 1

2

問題はFortifyバージョンにありました。Fortify360バージョン3.2をダウンロードすると、問題が解決しました。

于 2012-08-03T04:29:51.407 に答える