Создание исполняемого файла C++ блокирует файл на некоторое время

у меня есть ошибка, которая начала появляться всего несколько дней назад. Я использую Windows 7 Professional x64 бит.

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

g++ -std=c++11 A.cpp

создает исполняемый файл, a.exe. Однако, если я немедленно снова запускаю ту же команду, я получаю эту ошибку: -

c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot 
open output file a.exe: Permission denied
collect2.exe: error: ld returned 1 exit status

Если я пытаюсь удалить исполняемый файл, я получаю "вам нужно разрешение на выполнение этого действия" (я использую учетную запись администратора). На вкладке Безопасность в свойствах написано " не удается отобразить текущего владельца."Если я попытаюсь изменить его владельца, я получу" неспособный установить нового владельца a.exe. Доступ запрещен."

кроме того, если я пытаюсь открыть файл, он пишет "Windows не может получить доступ к указанному устройству, пути или файлу. Возможно, у вас нет соответствующих разрешений для доступа к элементу."

самое странное, что примерно через минуту файл автоматически исчезает.

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

пожалуйста, помогите мне с этим, это очень раздражает. Я пробовал с моим антивирусом (Касперксы Internet Security) выключен, и это все равно происходит.

6
задан Cerberus
29.03.2023 13:17 Количество просмотров материала 2524
Распечатать страницу

2 ответа

нашел этой теме на этом веб-сайте, и хотя проблема в списке немного отличается от решения (включите службу "Application Experience" и установите ее в "Automatic".) работал на меня.

1
отвечен Cerberus 2023-03-30 21:05

является ли средство защиты от вредоносных программ проверки вновь созданный исполняемый файл и его блокировки? Заблокировано ли приложение g++?

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

другая возможность: индексация поиска Windows, которая заблокировала удаление сообщений Thunderbird в течение нескольких минут. Отключение поиска или исключение всех foilders, используемых g++ поможет это подтвердить.

0
отвечен DrMoishe Pippik 2023-03-30 23:22

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх