【问题标题】:VC++ fatal error LNK1168: cannot open filename.exe for writingVC++ 致命错误 LNK1168:无法打开 filename.exe 进行写入
【发布时间】:2012-08-20 21:19:12
【问题描述】:

突然,我的 Visual Studio Express 2010 C++ 停止重建我的项目。 当我第一次点击 F7 时,项目构建并运行良好(哎呀,这是一个 hello world 示例)。

然后我进行一些更改并再次按F7,然后我得到:

1>LINK : fatal error LNK1168: cannot open C:\Users\username\Documents\Visual Studio 2010\Projects\console\Debug\console.exe for writing**<br><br>

现在有趣的事情来了:

  1. 应用程序未运行且未显示在任务管理器中。
  2. 进入项目目录并尝试用手将其删除会成功,但文件会再次出现。
  3. 系统还原已禁用。
  4. 我还试图获得整个该死驱动器的所有权。
  5. 每次我删除文件时,它都会重新创建自己,但有时它会停止这样做。
  6. 如果我删除文件(然后重新创建),然后启动 sysinternals procmon,则文件消失。
  7. 如果我之前启动 procmon - 那么文件会像往常一样在删除后继续出现。

操作系统:W7 SP1 64 位,具有最新更新

有什么想法吗?

【问题讨论】:

  • 对我来说,一个简单的重启解决了这个错误(类似于下面 CodeMed 的回答)。

标签: c++ windows visual-studio visual-c++


【解决方案1】:

问题可能是您忘记关闭程序,而是让程序在后台运行。

找到运行exe文件程序的控制台窗口,点击右上角的X将其关闭。然后尝试重新编译程序。就我而言,这解决了问题。

我知道这个帖子很旧,但我正在为像我这样通过搜索引擎找到这个帖子的其他人回答。

【讨论】:

  • 这为我解决了问题。不过我会说,我不得不在 Windows 任务管理器中查看进程,因为控制台窗口消失了。
  • 我无法通过 X 按钮关闭是否有其他方法...?我发现的一种方法是丢失您的 IDE,然后它会自动关闭提示窗口。
  • Win10 VS 2017。退出一切,直到任务管理器中没有任何相关内容无济于事,相反我必须重新启动机器。关闭时突然出现错误对话框并立即关闭,大概需要关闭此对话框,然后调试器才能再次访问应用程序但对话框不出现(直到关闭)。也许这个进程存在于任务管理器中,但名称通用/无用。
  • 添加到我上面的评论中,任务管理器不显示 filename.exe 进程,但资源监视器显示,所以我可以从那里杀死它,从而解决问题无需重新启动。
  • @CodeMed oopsie..这就是我喜欢 StackOverflow 的原因
【解决方案2】:

启用“应用体验”服务。启动控制台窗口并输入net start AeLookupSvc

【讨论】:

  • Windows 10 给我错误:“服务名称无效”
  • 如何开启应用体验?
  • 它对我有用。另一个荒谬的 Windows hack。微软应该向谷歌支付一大笔钱来支持它的操作系统,否则没有人可以使用它。
  • 在 Windows 7 Visual Studio 2013 C++ 上为我工作
  • @AhmetTavli 我也有同样的问题。该服务似乎在 Win10 中不可用。你找到解决办法了吗?
【解决方案3】:

当构建在加载之前突然关闭时,我遇到了这个问题。任务管理器中不会显示任何进程,但如果您导航到项目文件夹中生成的可执行文件并尝试删除它,Windows 会声称该应用程序正在使用中。 (如果没有,只需删除文件并重建,这会生成一个新的可执行文件) 在 Windows(Visual Studio 2019)中,该文件默认位于此目录中:

%USERPROFILE%\source\repos\ProjectFolderName\Debug

要结束据称正在运行的进程,请打开命令提示符并输入以下命令:

taskkill /F /IM ApplicationName.exe

这会强制终止任何正在运行的实例。 重建并执行!

【讨论】:

  • 谢谢,这是为我做的。有完全相同的问题(.exe 不会出现在任务管理器中)
【解决方案4】:

重新启动 Visual Studio 为我解决了这个问题。

【讨论】:

  • 我实际上不得不重新启动整个计算机。
【解决方案5】:

就我而言,清理和重建项目解决了问题。

【讨论】:

    【解决方案6】:

    好吧,我实际上只是保存并关闭了项目并在 Windows 8 中重新启动了 VS Express 2013,这解决了我的问题。

    【讨论】:

    • 嗨,Sparsh Jain,问题提到正在使用“W7 SP1”上的“visual studio express 2010”。此外,我认为您的答案不会添加现有答案未涵盖的任何内容。
    • 谢谢!我在 Windows 10 上使用 VS 2015 做到了这一点,它帮助了我 :) 我认为这是解决这个问题的最简单方法。
    【解决方案7】:

    原因是您之前的构建仍在后台运行。 我通过以下步骤解决了这个问题:

    • 打开任务管理器
    • 转到详细信息选项卡
    • 查找您的应用程序
    • 右击结束任务
    • 完成!

    【讨论】:

      【解决方案8】:

      如果上述解决方案不起作用,您可以尝试对我有用的这个。

      打开提升的命令提示符 (cmd -&gt; Run as administrator),然后编写以下命令并回车:

      wmic process where name='YOUR_PROCESS_NAME.exe' delete
      

      如果您看到一条消息:Instance deletion successful.,那么您将再次能够从 VS 构建和运行项目。

      例如在 OP 的情况下,命令将是:

      wmic process where name='console.exe' delete
      

      【讨论】:

        【解决方案9】:

        当 FindClose 从未执行时,不正确使用 FindNextFile 等函数也可能会导致问题。构建文件的进程终止,构建本身可以删除,但LNK1168会因为打开句柄而阻止重建。这可能会在 Explorer 中造成句柄泄漏,可以通过终止并重新启动 Explorer 来解决,但在许多情况下需要立即重新启动。

        【讨论】:

          【解决方案10】:

          我知道这是一个老问题,但我想分享一下我是如何解决这个问题的。

          如果您使用 Visual Studio 并出现此错误,您可以尝试附加到进程 (CTRL+ALT+P) 并找到“(program).exe”进程。当您尝试附加到它时,将显示一个错误,指出它无法附加,这会从“运行”中删除该进程(即使它不是......)您还可以从中删除(程序).exe您的调试文件夹。

          希望这对某人有所帮助! :)

          【讨论】:

            【解决方案11】:

            终于找到了最适合我的最佳方法

            此页面中的所有解决方案均不适合我以下情况除外

            在第二个答案的评论部分下方,尝试以下操作:

            添加到我上面的评论中,任务管理器不显示 filename.exe 进程,但 Resource Monitor 确实,所以我可以 从那里杀死它可以解决问题无需重新启动。 – A__ 2019 年 6 月 19 日 21:23

            【讨论】:

              【解决方案12】:

              如果上述建议都不适合您(我就是这种情况),只需更改项目名称即可。它在新项目名称中创建一个新的 exe。稍后重新启动时,您可以将其更改回原来的项目名称。

              【讨论】:

                【解决方案13】:

                我也有同样的问题。我的控制台窗口不再打开,但我可以通过转到任务管理器中的进程来查看我的应用程序正在运行。进程名称是我的应用程序的名称。一旦我结束了这个过程,我就能够毫无问题地构建和编译我的代码。

                【讨论】:

                  【解决方案14】:

                  以管理员身份启动您的程序。该程序无法重写您的文件,因为您的文件位于硬盘驱动器上的受保护位置。

                  【讨论】:

                    猜你喜欢
                    • 2019-09-25
                    • 2021-03-05
                    • 1970-01-01
                    • 1970-01-01
                    • 2013-02-22
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多