【问题标题】:Error while compiling even easy C++ programs in Sublime text 3在 Sublime text 3 中编译甚至简单的 C++ 程序时出错
【发布时间】: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


【解决方案1】:

如果存在权限问题,但应用程序没有运行,则尝试删除.exe文件。

【讨论】:

  • 知道如何授予 Sublime 这些权限吗?
  • 您实际上应该始终有权覆盖您自己创建的文件。您是否以其他用户身份运行某些应用程序?还是您有特殊的文件系统权限设置?这似乎更像是一个 Windows 问题而不是 C++ 问题。
  • 我不使用任何此类应用程序,并且我的 Windows 上也只有一个用户。你能在这里放一个链接,我可以参考它来解决我的问题(对不起,我尝试了很多搜索但找不到任何东西)。非常感谢您解决了我的一个大问题:)
  • 对不起,我不知道了。熟悉 Windows 的人或许能解释一下。
【解决方案2】:

这表明您的程序已经在运行。

如果它正在运行,它不能被新版本替换。

您应该在继续之前关闭它。

【讨论】:

  • 我什至无法在 Sublime 上运行一次程序,所以没有可以关闭的运行窗口,而且我确保在打开 Sublime text 3 之前关闭了所有运行窗口的代码块编译程序
猜你喜欢
  • 2018-11-05
  • 2015-03-22
  • 1970-01-01
  • 2018-02-03
  • 2016-09-04
  • 1970-01-01
  • 1970-01-01
  • 2014-09-18
  • 2014-02-07
相关资源
最近更新 更多