【问题标题】:Cannot open output file, permission denied无法打开输出文件,权限被拒绝
【发布时间】:2011-10-16 01:36:03
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: c++ compiler-errors codeblocks permission-denied


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 它不一定要运行,另一个进程可以有一个打开的句柄,Process Explorer 是这类工作的首选武器
        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

            您好,我知道这篇文章已经过时了,但无论如何,这是我的看法。 当您使用关闭图标而不是按“任意键继续”关闭控制台输出窗口时会出现此错误

            【讨论】:

              【解决方案7】:

              我在D盘重新安装了C::B,而我的程序文件夹在C盘

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

              【讨论】:

                【解决方案8】:

                问题与 Sam 的回答有关:

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

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

                【讨论】:

                • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
                • 我的回答是:“避免杀死进程,我们有两种选择,等到进程释放.EXE文件,否则这个问题会更快地重新启动IDE解决。”再读一遍……
                • @Elanasys 如果我误解了您的回答,我很抱歉。这被标记为“质量非常低”,我是从审核队列中来到这里的。您可能需要考虑稍微扩展您的答案,因为就目前而言,这取决于 Sam 的答案是否完全清楚。无论哪种方式,都没有必要对我的一个答案投反对票。
                • 还要考虑您的“答案”作为对 Sam 帖子的评论会更好,因为目前看来,它似乎没有直接回答问题。
                【解决方案9】:

                对于 Linux 操作系统... 转到您创建文件的文件。然后通常 ......project_name/bin/Debug/project_name.executable 对于这个可执行文件,您将没有执行权限,然后是执行权限。如果您无法更改权限,请右键单击,然后使用打开终端(命令提示符) 更改权限。 首先使用'cd'命令进入那个可执行文件然后使用“chmod u+x”然后权限将会改变。然后去c::b打开并执行你会得到输出。

                只有你需要做的所有文件的事情。

                【讨论】:

                  【解决方案10】:

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

                  【讨论】:

                    【解决方案11】:

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

                    【讨论】:

                      【解决方案12】:

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

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

                      【讨论】:

                        【解决方案13】:

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

                        Windows7 64 位、MinGW、Eclipse、CDT

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

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

                        【讨论】:

                          【解决方案14】:

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

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

                          【讨论】:

                            【解决方案15】:

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

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

                            【讨论】:

                              【解决方案16】:

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

                              【讨论】:

                                【解决方案17】:

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

                                【讨论】:

                                  【解决方案18】:

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

                                  的进程
                                  cb_console_runner
                                  

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

                                  【讨论】:

                                    【解决方案19】:

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

                                    【讨论】:

                                      猜你喜欢
                                      • 1970-01-01
                                      • 1970-01-01
                                      • 2018-04-20
                                      • 2014-07-19
                                      • 2011-12-01
                                      • 1970-01-01
                                      • 2011-03-21
                                      • 2016-10-10
                                      • 2021-01-04
                                      相关资源
                                      最近更新 更多