1>LINK : fatal error LNK1104: ファイル 'xxxxx.exe' を開くことができません。
原因はデバッグで実行ファイル'xxxxx.exe'をラン、トレースして終了後、再コンパイルする際に発生します。vs2013が再コンパイルに際して古い'xxxxx.exe'を削除できないためのようです。
原因は、explorerが当該実行ファイル'xxxxx.exe'をロックしているためのようです。そのため手動で'xxxxx.exe'を削除しようとしても削除不可で、例えば[unlocker]等のロック解除ソフトで削除ないし解放させようとしてもそもそもロックを認識しません。
しかし、explorer をタスクマネジャーから終了させ、再起動しますとロックは解除され削除することが可能です。いちいちこの作業、explorerを終了、再起動、削除、再コンパイルは大変ですので。もし回避できる方法等をご存じならご教授願いたいです。
よろしくお願いします。
普通は実行ファイルを表示しているウィンドウを閉じると放したと思うのですが、
原因究明はおいておいて、対処療法としてはexplorerを使わない、という手はありませんか?
コメント(2件)
■ Windows で実行プログラムを終了後、SYSTEM プロセス により 60 秒間ファイル ハンドルが確保される
https://support.microsoft.com/ja-jp/kb/2483362/ja
<参考情報>
■ LINK : fatal error LNK1104: cannot open file 'D:\…\MyProj.exe'
http://stackoverflow.com/questions/3906404/link-fatal-error-lnk1104-cannot-open-file-d-myproj-exe
起動されているサービスを調べましたら、Application Experience (AeLookupSvc) サービスを無効に設定しておりました。スタートアップの種類を [手動] に変更すると、とりあえずですが動作するようになりました。
AeLookupSvcが無効で、起動されないため、SYSTEM プロセスが 60 秒のタイムアウトの後、実行ファイルのハンドルの解放処理を実施していたのだろうと思います。
有り難うございました。