75

因此,在尝试使用 CodeBlocks 编译 C++ 代码时,我不断收到此错误。

无法打开输出文件 [filename.exe] 权限被拒绝

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

我还注意到,如果出现此问题,然后我尝试手动删除 .EXE 或以其他方式与之交互,Windows 会告诉我需要管理员权限才能这样做(这是一台私人 PC,据我所知,我我是它的管理员)。

第一次发生时,我添加到代码中的唯一内容是在之前版本中添加的内容是发送给 cout 的调试报告——几乎没有什么神秘的东西。即使没有从以前的版本更改代码,有时也会发生这种情况。

这可能是什么?这不是破坏游戏,但它很烦人,我宁愿它没有变得更糟。

编辑:这已经过时了,但以防万一其他人遇到类似问题,我目前使用的解决方法是在尝试再次运行代码之前始终删除 [filename.exe]。这避免了这个问题,尽管它很烦人。

4

19 回答 19

122

检查“filename.exe”是否未运行,我猜您使用的是 Microsoft Windows,在这种情况下,您可以使用任务管理器或进程资源管理器:http ://technet.microsoft.com/en-us/sysinternals/bb896653在尝试生成它之前杀死“filename.exe”。

于 2011-07-29T15:31:54.250 回答
15

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

于 2012-09-29T13:11:59.613 回答
4

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

但是,我通过单击控制台窗口右上角的“终止”按钮(红色按钮)然后“删除所有终止的启动”(终止按钮旁边的两个 x)来摆脱它。这似乎关闭了正在运行的程序,之后一切正常:)希望这可以帮助任何人

于 2014-09-25T18:26:46.567 回答
3

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

于 2011-07-29T15:27:58.493 回答
3

我也遇到了同样的问题,这让我发疯:

Windows7 64 位、MinGW、Eclipse、CDT

权限被拒绝错误,可执行文件消失,ld.exe 错误。它会工作一次,但再也不会了。像这样的语句:“无法打开输出文件***.exe:权限被拒绝”

检查您的防病毒软件。一旦我关闭了工作区中的防病毒软件,然后清理了工作区并重新启动项目,我就再也没有遇到过问题。

于 2014-10-06T12:56:15.620 回答
2

您好,我意识到这篇文章很旧,但无论如何,这是我的意见。当您使用关闭图标而不是按“任意键继续”关闭控制台输出窗口时,会出现此错误

于 2013-03-23T22:01:07.120 回答
2

问题与 Sam 的回答有关:

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

避免杀死进程,我们有两个选择,等到进程释放 .EXE 文件,否则这个问题会更快地解决重新启动 IDE。

于 2013-12-11T00:45:14.023 回答
1

您可以使用 sysinternals 的进程资源管理器来查找打开文件的进程。

于 2011-07-29T15:29:39.013 回答
1

尝试重新启动 IDE。它对我有用。尽管我试图在任务管理器中结束该进程,但该进程从未被杀死。

于 2012-10-31T10:15:26.213 回答
1

我在驱动器 D 中重新安装了 C::B,而我的程序文件文件夹在驱动器 C 中

我不知道原因,但它有效:)

于 2013-09-13T13:23:54.337 回答
1

好吧,一旦我遇到了同样的问题,并且在追踪了正在使用该文件的过程之后,我发现它是防病毒软件 (PANDA) ...我刚刚解锁了该文件并简单地解决了 ....好吧根据我的经验,我使用了 Unlock 1.9.2 ...尝试一下 ..

于 2014-08-08T16:18:22.163 回答
1

造成这种情况的一个主要原因(我最近遇到过)是如果你有这个,例如闪存驱动器。

您可以开发并做任何事情,但在大多数系统上,它会阻止您从那里运行 .exe 文件,无论是调试版本还是发布版本。

于 2015-02-28T02:23:28.930 回答
1

就我而言 - 我发现了一个名为

cb_console_runner

我停止了这个过程,一切又好了。

于 2018-03-25T13:01:49.233 回答
0

对于 LINUX OS... 转到您创建文件的文件。然后通常 ......project_name/bin/Debug/project_name.executable 对于此可执行文件,您将不会拥有执行权限,然后是执行权限。无论是对的单击如果您无法更改权限,然后使用打开终端(命令提示符)更改权限。首先使用“cd”命令转到该可执行文件,然后使用“chmod u+x”然后权限将更改。然后转到 c::b 打开并执行,您将获得输出。

唯一需要做的就是所有文件。

于 2014-04-10T16:49:47.607 回答
0

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

于 2014-07-15T15:25:48.803 回答
0

确保以“管理员模式”运行 7zip 以解压缩到程序文件。

此外,过去暂时关闭病毒保护对某些人有用。

于 2015-02-25T06:53:01.760 回答
0

我尝试了@willll 所说的,它奏效了。我确实没有找到以我的项目命名的 .exe,但我确实杀死了一些看起来很奇怪的任务(在互联网上检查后它们并不重要),并且它起作用了。

于 2017-01-26T23:37:26.237 回答
0

我已经尝试在任务管理器结束任务 IDE 后获取输出。稍后清除驱动器中的所有临时文件。启动你的 IDE。现在您的 .exe 运行良好。

于 2018-01-08T13:43:52.300 回答
0

我有同样的问题。只需将您的 .CPP 文件重命名为其他名称,然后再试一次。它对我有用。

于 2020-11-08T21:00:07.077 回答