You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

C代码编译失败:无法创建临时目标文件权限被拒求助

解决C编译器无法创建临时目标文件的权限问题

我经常碰到开发者遇到这类临时目录权限报错,别担心,这本质是你的编译器(大概率是GCC)没有权限读写Windows临时目录C:\Users\HP\AppData\Local\Temp下的文件。下面给你分步骤的解决思路:

快速临时修复

  • 右键点击你用来编译的终端(CMD/PowerShell)或者IDE(比如Code::Blocks、Dev-C++),选择以管理员身份运行,再重新编译代码。这会临时赋予程序足够的系统目录访问权限,一般能立刻解决问题。

永久解决:修改Temp目录权限

如果不想每次都开管理员权限,直接调整Temp文件夹的权限设置更彻底:

  1. 打开文件资源管理器,导航到C:\Users\HP\AppData\Local\Temp(找不到AppData的话,记得开启顶部「查看」栏里的显示隐藏项目
  2. 右键点击Temp文件夹,选择「属性」→ 切换到安全标签页
  3. 点击「编辑」按钮,再点击「添加」
  4. 在弹出的输入框里输入你的用户名(这里应该是HP),点击「检查名称」确认无误后,点「确定」
  5. 在权限列表里找到你的用户名,勾选完全控制修改读取和执行列出文件夹内容读取写入这些权限项,然后依次点击「应用」→「确定」
  6. 重启你的编译器/IDE,再尝试编译代码

额外排查方向

  • 检查杀毒软件或防火墙是否拦截了编译器的文件写入操作,有些安全工具会误判GCC创建临时目标文件的行为,你可以临时关闭防护测试,或者把编译器程序添加到信任列表
  • 如果用IDE编译,看看IDE的设置里有没有「临时编译目录」的选项,手动指定一个你完全有权限的文件夹(比如D:\MyCompileTemp)作为临时目录,也能避开系统目录的权限问题

内容的提问来源于stack exchange,提问作者Atish Dey

火山引擎 最新活动