1. ホーム
  2. c

[解決済み] ld.exe: 出力ファイルを開くことができません ... : パーミッションが拒否されました。

2022-01-28 09:55:14

質問

最近、C言語のスキルを磨くためにWindows 7 Ultimate 32bitにCodeBlocks with mingw32をインストールしたのですが、この問題で少々困っています。

私は自分の設定がうまくいっていることを確認するために、短いフィボナッチ・ジェネレータを起動することにしましたが、ハードルに突き当たりました。

プログラムのコンパイル、リンク、その他は魅力的で、期待通りに実行できる対応する実行ファイルを得ることができました。

もう一度コンパイルしようとすると、以下のような問題が発生します。

c:/codeblocks/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: cannot open output file bin\Debug\Fibonacci.exe: Permission denied

生成された実行ファイルのパーミッションの編集もできない。

いつものようにチェックしたのですが

  • 実行ファイルが本当に実行されていません。
  • 実行ファイルのパスがmingw32に読み書き可能であること(そうでなければ、そもそもビルドできない)。
  • cygwinは一切動かしていません。

そして、ここからが面白いところです。通常、数分後、このアクセス拒否の挙動を示すmingw32によって生成された実行可能ファイルは、私が何もしなくても自動的に消滅します。

なんとなくググってみたのですが、他の結果はほとんどが曖昧だったり、当てはまらなかったり。

Windows 7のセキュリティ設定が私の.exeを混乱させているのではないかと思うのですが、どこから検索すればいいのか、Win 7についてそれほど詳しくはありません。

どなたかお心当たりのある方はいらっしゃいませんか?

解決方法は?

私は、いくつかの(私の意見では)不必要なWindowsサービスをオフにした直後に、まったく同じ問題が発生しました。この問題は、Windowsのサービスを停止した後、再び "Application Experience" はすべて正常に動作するようになりました。

もしかして、このサービスをオンにするだけでいいのでは?Application ExperienceをONにする。

  1. Windowsのスタートボタンnをクリックします。

  2. プログラムとファイルの検索"]と書かれたボックスに、次のように入力します。 services.msc をクリックし、検索ボタンをクリックします。サービス」というタイトルの新しいウィンドウが開きます。

  3. アプリケーション・エクスペリエンスの行を右クリックし、ポップアップ・メニューから[プロパティ]を選択します。

  4. スタートアップの種類を "自動(遅延起動)" に変更します。

  5. コンピュータを再始動します。

アプリケーション・エクスペリエンスでは、今後この問題が発生しないようにする必要があります。