Подтвердить что ты не робот

Ld.exe: невозможно открыть выходной файл...: Permission denied

Недавно я установил CodeBlocks с mingw32 на Windows 7 Ultimate 32bit, чтобы отключить мои навыки c, но эта проблема меня несколько озадачила.

Я решил запустить короткий генератор Фибоначчи, чтобы убедиться, что моя установка работает, но я столкнулся с препятствием.

Программа компилирует, связывает и еще что-то вроде очарования, и я получаю соответствующий исполняемый файл, который работает как ожидалось.

Проблемы возникают, если я пытаюсь скомпилировать снова, тогда я получаю следующее:

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, чтобы знать, с чего начать поиск.

У кого-нибудь есть идеи?

4b9b3361

Ответ 1

У меня была точно такая же проблема сразу после отключения некоторых (на мой взгляд ненужных) служб Windows. Оказалось, что когда я снова включил "Application Experience" все возобновило работу нормально.

Может быть, вам просто нужно включить эту услугу? Чтобы включить приложение Опыт:

  1. Нажмите кнопку Пуск Windows.

  2. В поле "Поиск программ и файлов" введите services.msc и нажмите кнопку поиска. Откроется новое окно с названием "Услуги".

  3. Щелкните правой кнопкой мыши строку "Application Experience" и выберите "Properties" во всплывающем меню.

  4. Измените тип запуска на "Автоматический (отложенный запуск)".

  5. Перезапустить компьютер.

Опыт применения должен предотвратить проблему в будущем.

Ответ 2

Если вы считаете, что исполняемый файл заблокирован процессом, попробуйте Process Explorer из SysInternals. В файле /handle введите Fibonacci.exe и вы увидите, кто держит файл.

Если этого недостаточно, вы можете использовать Process Monitor (снова из SysInternals), чтобы следить за действиями всех процессов в вашей системе на Fibonacci.exe. С небольшим анализом (стеки вызовов) вы узнаете, почему отказ в доступе к файлу запрещен и что он исчезает.

Ответ 3

Ваша программа все еще работает. Вы должны убить его, закрыв окно командной строки. Если вы нажмете элемент управления alt delete, диспетчер задач, process `s (убейте те, которые соответствуют вашему имени файла).

Ответ 4

Лучшим решением является консоль в eclipse IDE и нажмите красную кнопку, чтобы завершить работу программы. Вы увидите, что ваша программа запущена, и вывод можно увидеть там.:)!!

Ответ 5

  • Открыть диспетчер задач → Процессы → Нажмите на .exe(Fibonacci.exe) → Завершить процесс

    если он не работает

  • Закройте Eclipse IDE (или любую другую IDE, которую вы используете) и повторите шаг 1.

Ответ 6

Я имел такое же поведение и исправил его, запустив Code:: Blocks в качестве администратора.

Ответ 7

У меня была аналогичная проблема. Используя бесплатную утилиту Unlocker (версия 1.9.2), я обнаружил, что мое антивирусное программное обеспечение (Panda бесплатно) оставило зависающую блокировку в исполняемом файле, даже если она не обнаружила никакой угрозы. Unlocker смог разблокировать его.

Ответ 8

Получается та же проблема. Прочитайте this. Отключено антивирусное программное обеспечение (mcaffee). Et voila

Подтверждено антивирусным журналом:

Blocked by Access Protection rule d:\mingw64\x86_64-w64-mingw32\bin\ld.exe d:\workspace\cpp\bar\foo.exe User-defined Rules:ctx3 Action blocked : Create

Ответ 9

Это может быть ваше антивирусное программное обеспечение.

В моем случае Malwarebytes держал дескриптор исполняемого файла:

введите описание изображения здесь

Использование Process Explorer для закрытия дескриптора или просто отключение антивируса для работы очень просто.

Ответ 10

Я получил эту ошибку при использовании редактора Atom и mingw (через пакет, называемый gpp-compiler) для C++. Закрытие открытого окна консоли устранило мою проблему.

Ответ 11

Неполадка Причина: процесс текущей программы все еще выполняется без прерывания. (Это причина, почему у вас не возникла эта проблема после перезагрузки)

Исправить это просто: перейдите в cmd и введите команду taskkill -im process-name.exe -f

Например:

 taskkill -im demo.exe -f

Вот,

демо - это название моей программы

Ответ 12

у меня возникла похожая проблема. Bitdefender автоматически помещает в карантин каждый exe файл, который я создал MinGW g++. Вместо полного exe файла я нашел файл со странным расширением 'qzquar' testAutoPtr1.exe.48352.gzquar

Когда я открыл карантинные объекты в Bitdefender, я обнаружил, что там находится мой exe файл.