【发布时间】:2019-01-15 12:08:11
【问题描述】:
我已经安装了 Sublime text 3,我想在里面编译 C++ 程序。我参考了this 文章让 Sublime 兼容编译 C++ 程序,但我一直收到以下错误
C:/Program Files (x86)/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/5.1.0/../../../../mingw32/bin/ld.exe: cannot open output file C:\Users\USER\Downloads\CCDSAP\sublime/test1.exe: Permission denied
collect2.exe: error: ld returned 1 exit status
[Finished in 1.9s with exit code 1]
[shell_cmd: g++ -std=c++11 -Wall "C:\Users\USER\Downloads\CCDSAP\sublime\test1.cpp" -o "C:\Users\USER\Downloads\CCDSAP\sublime/test1" && "C:\Users\USER\Downloads\CCDSAP\sublime/test1"]
[dir: C:\Users\USER\Downloads\CCDSAP\sublime]
[path: C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;C:\Program Files\MATLAB\R2017a\runtime\win64;C:\Program Files\MATLAB\R2017a\bin;C:\Program Files\Git\cmd;C:\Program Files\Amazon\AWSCLI\;C:\Program Files\OpenVPN\bin;C:\WINDOWS\System32\OpenSSH\;C:\Android;C:\Windows\System32;C:\Program Files\Java\jdk-11.0.1\bin;C:\Program Files (x86)\CodeBlocks\MinGW\bin;C:\Users\USER\AppData\Local\Programs\Python\Python36\Scripts\;C:\Users\USER\AppData\Local\Programs\Python\Python36\;C:\Users\USER\AppData\Local\Microsoft\WindowsApps]
在遇到此错误后,我在 StackOverflow 上阅读了 this 问题,并再次尝试使用上述链接中给出的构建代码。但这又给了我同样的错误。
请注意,我能够非常顺利地通过 CodeBlocks IDE 编译和运行程序,并且我还能够通过 Windows 上的命令行调用 g++ 命令。有人可以帮忙吗? 谢谢你。
【问题讨论】:
-
会不会是你在运行程序?关闭它,然后再次尝试编译它!
-
"无法打开输出文件 C:\Users\USER\Downloads\CCDSAP\sublime/test1.exe: Permission denied" 你有没有忘记关闭应用程序,在重新编译之前?
-
@BenjaminBihler 我什至无法在 Sublime 上运行一次程序,所以没有可以关闭的运行窗口,而且我确保在打开 Sublime 文本之前关闭了所有运行窗口的 Codeblocks 3 用于编译程序。
-
然后尝试删除.exe文件重新编译。
-
@user1712 在那种情况下,我帮不了你。在链接期间出现此类错误的典型原因是某个进程正在持有文件的句柄。在 .exe 的情况下,通常是它正在运行(或者,防病毒软件阻止您覆盖它)。可以使用 Process Explorer 等工具查看哪个进程拥有它的句柄。但除此之外:根据提供的信息,没有什么可以推荐的了。
标签: c++ compiler-errors compilation sublimetext3