2011-12-22 187 views
3

OpenCV関数をいくつか持ち、ある種のテストを行うC++のコードをコンパイルする必要があります。実際には、コードが他のコンピュータで動作していたので、自分のPC上で動作させるにはインクルードとライブラリを適切に設定する必要があります。ビルドエラーc101008d mt.exeに関連するVisual Studio C++

ビルド時にリリースモードでこの奇妙なエラーが発生します。

Error: general error c101008d: Failed to write the updated manifest to the resource of file ".\bin\pcTest.exe". The process cannot access the file because it is being used by another process. mt.exe 

mt.exeがウイルス対策などと関連する他の回答が見つかりました。誰がなぜこれが起きているのか、どうすれば解決できるのでしょうか?

+1

「mt.exe」は、マニフェストをアプリケーションに埋め込むSDKに含まれているアプリケーションです。これはウイルス対策アプリケーションではありません。しかし、*あなたの*は干渉している可能性があります:Visual Studioのインストールディレクトリ(およびサブディレクトリ)とコードプロジェクトディレクトリを除外して構成しましたか? –

+0

会社の管理者が設定したので、確認する必要がありますが、実際のプロジェクトフォルダ内でこのプロジェクトをデスクトップにコピーしていないという事実があります。私はそれをVStudioプロジェクトフォルダの中に入れようとします。 –

+3

このエラーの原因として、マルウェア対策は99.99%です。 Avastは特にVSと互換性がありません。 Symantec Endpointも高い吸入率を持ちますが、ビルドを揺るがす一貫性がありません。もう1つの0.01%は実際に作成された.exeを混乱させようとしている実際のウイルスです:)回避策は、msbuild .targetsファイルを混乱させ、mt.exeの前に遅延を挿入することです。 。 –

答えて

2

探しているときに.exeファイルがありますか?その場合は、LockHunter(http://lockhunter.com)を使用して他のものがロックしているかどうかを確認してください。このエラーが発生したのは、既にプログラムを実行していて、再度ビルドしようとしたときです。何も起こっていないことを確認してください。

1

出力しようとするとこのエラーが発生します。実行可能ファイルのバージョンを私のC:/Program Files (x86)ディレクトリにあるディレクトリにデバッグします。これは私が設定したVisual Studioのプロジェクトプロパティです。 (プロジェクト|プロパティ|一般|出力ディレクトリを右クリックします)。

この問題は、Symantec Endpoint Protectionを一時的に無効にして解決しました。あなたのprivsがそれを許可していない場合は、実行可能ファイルを別の場所に出力して、それをコピーして目的のディレクトリに貼り付けることができます。

関連する問題