VS Code运行C代码报错:cannot open output file One.exe权限被拒求助
解决VS Code编译C代码时"Permission denied"错误
问题场景
在VS Code中编译C代码时触发以下错误:
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot open output file One.exe: Permission denied
collect2.exe: error: ld returned 1 exit status
旧代码可正常编译运行,新代码执行时出错,已关闭杀毒软件但问题未解决,执行命令如下:
cd "c:\Users\kingp\OneDrive\डेस्कटॉप\c\codes" ; if ($?) { gcc One.c -o One } ; if ($?) { .\One }
解决方法
终止正在运行的One.exe进程
之前运行的One.exe可能未正常关闭,导致文件被占用无法覆盖。可以:- 打开任务管理器,找到
One.exe进程并结束它; - 或者在PowerShell中执行命令强制终止:
taskkill /f /im One.exe
- 打开任务管理器,找到
检查文件与文件夹权限
右键代码所在文件夹(c:\Users\kingp\OneDrive\डेस्कटॉप\c\codes),选择「属性」→「安全」,确认当前用户拥有完全控制权限。若权限不足,点击「编辑」添加对应的修改、写入权限。规避OneDrive同步锁定
文件存储在OneDrive目录下时,同步过程可能会临时锁定文件。可以:- 暂时暂停OneDrive同步;
- 或者将代码文件夹迁移到本地非OneDrive目录(比如
C:\c_codes)后再编译。
以管理员身份运行VS Code
右键VS Code图标,选择「以管理员身份运行」,再尝试编译代码,避免权限不足的问题。
内容的提问来源于stack exchange,提问作者Shadowblaze
相关产品推荐
相关产品推荐

