You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用emcc编译fibonacci.c时遭遇Permission denied错误求助

Emscripten编译时llvm-objcopy权限拒绝错误的解决办法

问题场景

在Windows 11下执行emcc fibonacci.c -o fibonacci.html --emrun编译C代码时,出现以下错误:

C:\emsdk-main\upstream\bin\llvm-objcopy.exe: error: permission denied
emcc: error: 'C:/emsdk-main/upstream/bin\llvm-objcopy.exe fibonacci.wasm fibonacci.wasm --remove-section=.debug* --remove-section=producers' failed (returned 1)

无法生成目标HTML文件,核心问题是llvm-objcopy无法访问或修改生成的.wasm文件。

排查与解决方案

1. 解除文件占用

  • 原因:之前的编译进程未正常退出,或文件管理器、预览工具等程序锁定了fibonacci.wasm文件。
  • 解决:
    • 关闭所有打开该文件的程序,重启命令行窗口。
    • 手动删除当前目录下的fibonacci.wasm(如果存在),再重新执行编译命令。

2. 提升权限或更换目录

  • 原因:命令行权限不足,或代码存放在系统保护目录(如C:\Program Files)下,无法修改文件。
  • 解决:
    • 右键命令行工具(CMD/PowerShell),选择「以管理员身份运行」,再执行编译命令。
    • 将代码文件移到非系统目录(如D:\emscripten_projects),在新目录下重新编译。

3. 修复Emscripten环境

  • 原因:llvm-objcopy.exe权限异常,或Emscripten环境安装不完整。
  • 解决:
    • 打开emsdk所在目录,依次执行以下命令重新激活环境:
      emsdk activate latest
      emsdk_env.bat
      
    • 如果激活后问题仍存在,卸载并重新安装Emscripten,确保安装过程中无权限拦截。

4. 排除杀毒软件拦截

  • 原因:Windows Defender或第三方杀毒软件误判llvm-objcopy的文件操作为恶意行为,阻止了修改。
  • 解决:
    • 临时关闭杀毒软件防护,重新编译测试。
    • 将C:\emsdk-main目录添加到杀毒软件的信任列表,避免后续拦截。

验证

编译成功后,目录下会生成fibonacci.html、fibonacci.js、fibonacci.wasm三个文件,执行emrun fibonacci.html即可在浏览器中运行测试。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 14:48:22