2011-07-29 90 views
53

所以当我试图使用CodeBlocks编译C++代码时,我一直收到这个错误。无法打开输出文件,权限被拒绝

无法打开输出文件[文件名.exe]许可被拒绝

它今天才开始,这是零星的和不一致的。如果我关闭CodeBlocks并重新启动项目,它通常会消失,但并非总是如此。有时甚至会在我按F9(建立&运行)几次时消失。我总是检查任务管理器,但是从来没有任何.EXE以我的文件名或任何与之相关的文件名运行。

我也注意到,如果发生此问题,然后我尝试手动删除.EXE或以其他方式与之交互,Windows告诉我我需要管理员权限才能这样做(这是一台私人PC,并且至今因为我知道我是管理员)。

第一次发生的时候,除了以前的版本之外,我添加到代码中的唯一一件事情就是发送给cout的调试报告 - 几乎没有任何神秘的东西。即使没有代码从以前的版本改变,它有时也会发生。

这可能是什么?这不是游戏突破,但它令人恼火,我宁愿它没有变得更糟。

编辑:这是旧的现在,但只是在其他人遇到类似问题,我目前使用的解决方法是只是一次性删除[filename.exe]再次尝试运行代码之前。这可以避免这个问题,尽管它很烦人。

回答

77

检查“filename.exe”未运行,我猜你正在使用Microsoft Windows,在这种情况下,您可以使用任务管理器或Process Explorer:http://technet.microsoft.com/en-us/sysinternals/bb896653杀死“filename.exe”,然后再尝试生成它。

+3

他说,他检查任务管理器和进程没有运行... –

+3

它没有在运行,另一个进程可能会对它打开的句柄,进程资源管理器是首选那种工作的利器 –

3

当IDE由于崩溃或其他故障而出现问题时,通常会出现此错误,并且它仍然保留在EXE上,从而防止用户(您自己)在重建过程中覆盖/删除EXE。

1

您可以使用sysinternals的进程管理器来查找哪个进程打开了一个文件。

11

我遇到了同样的问题。我发现它可能与您终止运行结果的方式有一些关系。在运行代码时,无论是否有打印输出,调试器都会调用打印“按任意键继续...”的控制台。如果通过按键终止控制台,则可以;如果你通过点击关闭按钮来完成,问题就像你所描述的那样。当你以后一种方式终止它时,你必须等待几分钟才能重建你的代码。

1

尝试重新启动IDE。它为我工作。 尽管我试图在任务管理器中结束这个过程,但这个过程从未被杀死。

2

你好,我意识到这个帖子是旧的,但这里是我的意见无论如何。当您使用的关闭图标而不是按的“任意键继续”

1

我重新安装的C :: B驱动器d关闭控制台输出窗口 这个错误出现的时候,而我的程序文件夹是在驱动器C

我不知道原因,但它的工作原理:)

2

的问题与Sam's响应:

“也遇到你有同样的问题,我发现,它可能 与你termi的方式有一些关系注意你的跑步结果。当你 运行你的代码,它是否有打印输出,调试器将调用 控制台,其打印“按任意键继续......”。如果您通过按键终止 控制台,那没关系;如果您通过点击关闭 按钮来解决问题,则会出现问题,如您所述。当你终止它在 后者的方式,你必须等待几分钟才能 重建你的代码。”

免杀处理,我们有两个选择,等到过程释放出.EXE文件或者这个问题会得到解决更快重新启动IDE。

+0

这不提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 – AstroCB

+0

我的回答是:“避免杀死进程,我们有两种选择,等到进程释放.EXE文件或者重新启动IDE时解决此问题。”再读一遍...... – Jorgesys

+0

@Elanasys如果我误解了你的答案,我很抱歉。这被标记为“非常低质量”,并且我从审查队列到达了这里。您可能需要考虑扩展您的答案,因为,现在看来,这取决于Sam的答案,要求完全清晰。无论哪种方式,我对其中一个答案的赞成是没有保证的。 – AstroCB

0

FOR LINUX操作系统... 去文件的形式创建乌尔通常file.then ...... PROJECT_NAME /斌/调试/ project_name.executable在这里为这个可执行文件你不会执行权限然后执行权限。如果你无法通过右键单击改变权限然后使用使用打开的终端(命令promt)来更改权限。 先去该可执行文件用“CD”命令,然后使用“CHMOD U + X”则允许将要change.then转至c :: B打开并执行你会得到输出。

所有文件唯一u需要去做。

0

的问题是,你没有管理员权限来访问它的运行或编译的东西是基本的C驱动器正在做。要消除此问题,请以管理员身份运行devcpp.exe。您还可以更改属性的权限,并允许系统和系统访问读写修改等。

-1

好,一旦我有同样的问题,并跟踪这是得到该文件在使用的过程后,我发现它是防病毒(PANDA)......我只是打开了文件,并简单地解决。 ......好了我的经验,我用解锁1.9.2 ...尝试IY了..

2

我有同样的问题。而且我经历过,当我运行程序并在没有完成仍在运行的程序的情况下更改一些代码时,总会发生这种情况。之后出现“无法打开......”消息。

然而,我通过点击控制台窗口右上方的“终止”按钮(红色按钮),然后“删除所有终止的启动”(两个x'es紧挨着终止按钮)。 这似乎关闭运行中的PROGRAMM,一切工作正常:)希望以后这可能会帮助任何人

0

我有同样的问题也和它快把我逼疯了:

的Windows7 64位,MinGW的,Eclipse的, CDT

权限被拒绝的错误,可执行消失,ld.exe错误。它会工作一次,但永远不会。 声明如:“无法打开输出文件***。exe:权限被拒绝”

检查您的ANTIVIRUS软件。一旦我在工作区关闭杀毒软件,然后清理工作区并重新启动项目,我再也没有遇到过这个问题。

0

确保在“管理员模式”用于提取到Program Files文件运行7zip的。

同时,暂时关闭病毒防护工作了一些人过去。

0

这方面的一个重要原因(我最近),就是如果你有这对例如闪存驱动器。

您可以开发和做的一切,但在大多数系统上它阻止你从那里运行.exe文件,无论是在调试或发行版本。

0

我试过@willll说的,它工作。我没有找到完全以我的项目命名的.exe,但我杀了一些看起来很奇怪的任务(在互联网上检查之后他们并不重要),并且它工作正常。

0

我已经尝试过,并从任务管理器结束任务IDE后得到输出。稍后清理驱动器中的所有临时文件。启动你的IDE。现在你的.exe工作正常。

相关问题