ld.exe: 출력 파일을 열 수 없습니다...: 권한이 거부되었습니다.
최근 CodeBlocks with 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에 읽기/쓰기 가능(그렇지 않으면 처음부터 빌드할 수 없음)
- 난 어떤 형태든 사이그윈을 운영하지 않아
자, 이제 재미있는 부분:보통 몇 분 후 mingw32에 의해 생성된 이 접근 거부 동작을 나타내는 실행 파일은 자동으로 사라집니다.
저는 이것을 약간 검색해 보았지만, 다른 대부분의 결과들은 모호하거나 적용할 수 없었습니다.
Windows 7 의 시큐러티 설정이, 제 .exe 의 시큐러티 설정을 엉망으로 하고 있는 것은 아닐까 생각합니다만, Win 7 의 검색의 개시점에 대해서는 잘 모릅니다.
생각나는 사람?
프로그램이 아직 실행 중입니다.명령줄 창을 닫아서 죽여야 합니다.control alt delete, 태스크 매니저, 프로세스(파일명과 일치하는 항목 제거)를 누릅니다.
문제 원인 : 현재 프로그램의 프로세스가 중단 없이 계속 실행되고 있습니다.(재기동 후 이 문제가 발생하지 않는 이유)
수정은 간단합니다. cmd로 이동하고 taskkill -im process_name.exe -f 명령을 입력합니다.
예:
taskkill -im demo.exe -f
여기서,
demo - 내 프로그램 이름입니다.
불필요한 Windows 서비스를 끈 직후에도 같은 문제가 발생했습니다. ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★."Application Experience"
모든 것이 정상으로 돌아갔습니다.
단순히 이 서비스를 켜야 하는 것일 수도 있습니다.응용 프로그램 환경을 켜려면:
Windows 의 기동 버튼을 클릭합니다.
및 파일 검색(files)]에 [프로그램 및 파일 검색(Search programs and files)]라고 입력합니다.
services.msc
검색 버튼을 클릭합니다.서비스하다Application Experience(애플리케이션 익스피리언스) 행을 마우스 오른쪽 버튼으로 클릭하고 팝업 메뉴에서 Properties(속성)를 선택합니다.
시작 유형을 "자동(지연된 시작)"으로 변경합니다.
컴퓨터를 재기동합니다.
어플리케이션 익스피리언스에서는, 장래의 문제를 회피할 수 있습니다.
실행 파일이 프로세스에 의해 잠겨 있다고 생각되는 경우 SysInternals의 프로세스 탐색기를 사용해 보십시오.파일/핸들에 Fibonacci를 입력합니다.exe를 실행하면 파일을 보유한 사용자를 확인할 수 있습니다.
불충분한 경우 프로세스모니터(SysInternals에서 다시)를 사용하여 시스템상의 모든 프로세스의 액티비티를 Fibonacci.exe로 추적할 수 있습니다.약간의 분석(콜스택)을 통해 파일에 대한 액세스가 거부된 이유와 파일이 사라지게 된 원인을 알 수 있습니다.
저도 같은 행동을 했고, Code::를 실행하여 수정했습니다.관리자 권한으로 차단합니다.
최적의 솔루션은 이클립스 IDE 콘솔로 이동하여 빨간색 버튼을 클릭하여 프로그램을 종료하는 것입니다.프로그램이 실행 중이고 출력이 표시됩니다. :)
안티바이러스 소프트웨어일 수 있습니다.
내 경우 멀웨어바이트가 내 프로그램 실행 파일의 핸들을 잡고 있었다.
프로세스 탐색기를 사용하여 핸들을 닫거나 안티바이러스를 조금 비활성화하면 정상적으로 작동합니다.
같은 문제가 생겼어요.이거 읽어주세요.안티바이러스 소프트웨어(Mcaffee)를 무효로 했다.에트보일라
안티바이러스 로그로 확인:
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
태스크 매니저 열기 -> 프로세스 -> .exe(Fibonacci.exe) -> 프로세스 종료
안 되면
Eclipse IDE(또는 사용하는 IDE)를 닫고 1단계를 반복합니다.
저도 비슷한 문제가 있었어요.Unlocker(버전 1.9.2)라는 프리웨어 유틸리티를 사용하여 바이러스 백신 소프트웨어(Panda 프리)가 위협을 감지하지 못했는데도 실행 파일에 행 잠긴 상태로 남아 있는 것을 발견했습니다.언락커는 잠금을 해제할 수 있었다.
Atom 에디터와 mingw를 사용할 때 이 오류가 발생하였습니다.gpp-compiler
C++( 「」)열린 콘솔 창을 닫으면 문제가 해결되었습니다.
저도 비슷한 문제를 겪었어요.Bitdefender는 MinGW g++에 의해 작성된 각 exe 파일을 자동으로 검역했습니다.전체 exe 파일 대신 이상한 확장자 'qzquar' 테스트를 가진 파일을 찾았습니다.AutoPtr1.exe.48352.gzquar
Bitdefender에서 검역된 항목을 열었을 때 내 exe 파일이 검역된 것을 발견했습니다.
언급URL : https://stackoverflow.com/questions/7655471/ld-exe-cannot-open-output-file-permission-denied
'source' 카테고리의 다른 글
nuxt 레이아웃 내에서 메서드를 실행하기 위한 vuex 상태 변경 감지 (0) | 2022.07.17 |
---|---|
Java 멀티스레딩에서 Count Down Latch는 어떻게 사용됩니까? (0) | 2022.07.17 |
C에서 1123456789에서 1,123,456,789까지의 숫자를 포맷하려면 어떻게 해야 합니까? (0) | 2022.07.17 |
nuxt.js Vuex Vuejs 정의되지 않은 속성 'getters'를 읽을 수 없습니다. (0) | 2022.07.17 |
오류: 유감스럽게도 비 Gradle Java 모듈과 > Android-Gradle 모듈을 하나의 프로젝트에 포함할 수 없습니다. (0) | 2022.07.17 |