Windows11下Visual Code运行代码报错Permission denied的解决方法
解决VS Code运行代码出现Permission denied & collect2.exe错误的方案
1. 检查编译器权限
- 若使用GCC(MinGW),找到MinGW安装目录(如
C:\MinGW),右键文件夹选择属性 > 安全,确认当前用户拥有完全控制权限;若无该权限,点击「编辑」添加对应权限。 - 定位
collect2.exe所在路径(通常在MinGW的bin目录下),同样检查文件权限,确保用户具备读写执行权限。
2. 关闭安全软件拦截
Windows 11自带Defender或第三方杀毒软件可能误判编译器进程,可临时关闭实时保护测试:
- 打开Windows安全中心 > 病毒和威胁防护 > 管理设置 > 关闭实时保护(测试完成后记得重新开启)。
- 若使用第三方杀毒软件,暂时退出程序或将VS Code、MinGW目录添加至信任列表。
3. 以管理员身份运行VS Code
右键VS Code图标,选择以管理员身份运行,再尝试编译运行代码,验证是否为权限不足导致的问题。
4. 修改VS Code的tasks.json配置
针对C/C++项目,检查tasks.json中的编译命令,确保输出文件路径无权限限制:
- 打开
.vscode/tasks.json,找到args中的输出文件名(如${fileDirname}\\${fileBasenameNoExtension}.exe),可临时改为更简单的路径(如${workspaceFolder}\\output.exe),避免路径过长或含特殊字符引发权限问题。 - 示例修改后的args配置:
["-g", "${file}", "-o", "${workspaceFolder}\\output.exe"]
5. 重置VS Code配置
重装VS Code可能未清理旧配置,手动删除配置文件夹:
- 关闭VS Code,打开
%APPDATA%\Code和%USERPROFILE%\.vscode,删除这两个文件夹后重启VS Code。
6. 修复或重装编译器
若编译器自身损坏或权限异常:
- 卸载当前的MinGW(或其他编译器),重新下载最新版本并安装至非系统盘(如D盘),规避C盘权限限制。
- 安装时勾选添加到系统PATH,确保编译器能被VS Code正确识别。
内容的提问来源于stack exchange,提问作者Jahid
相关产品推荐
相关产品推荐

