VC ++致命错误LNK1168:无法打开filename.exe进行写入

时间:2012-08-25 17:25:47

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

突然我的visual studio express 2010 c ++停止重建我的项目 当我第一次点击F7时,项目构建并运行正常(哎呀,这是一个问候世界的例子) 然后我做了一些改动并再次点击F7,然后我得到:
1> LINK:致命错误LNK1168:无法打开C:\ Users \ username \ Documents \ Visual Studio 2010 \ Projects \ console \ Debug \ console.exe进行编写

现在有趣的事情来了:

  1. 该应用未运行,并且未在任务管理器中显示。
  2. 进入项目目录并试图用手将其删除但是成功但是文件再次出现o_O
  3. 禁用系统还原
  4. 我也试图取得整个该死的驱动器的所有权
  5. 每次我删除文件时,它会再次重新创建,但有时会停止这样做
  6. 如果删除文件(并在之后重新创建),然后我启动sysinternals procmon,那么文件将消失。
  7. 如果我之前开始procmon - 那么文件会在删除之后一直显示
  8. 操作系统:W7 SP1 64位,带有最新更新
    有什么想法吗?谷歌没有帮助我:(

13 个答案:

答案 0 :(得分:52)

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

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

我知道这个帖子已经过时了,但我正在回答像我这样通过搜索引擎找到这个问题的其他人。

答案 1 :(得分:22)

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

答案 2 :(得分:9)

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

答案 3 :(得分:3)

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

答案 4 :(得分:3)

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

%USERPROFILE%\source\repos\ProjectFolderName\Debug

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

taskkill /F /IM [ApplicationName.exe]

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

答案 5 :(得分:2)

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

答案 6 :(得分:1)

原因是您先前的构建仍在后台运行。 我可以按照以下步骤解决此问题:

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

答案 7 :(得分:0)

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

答案 8 :(得分:0)

完全是我的最佳方法

此页面中的所有解决方案都不适合我 除以下内容

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

在我上面的评论中,任务管理器未显示 filename.exe进程,但是 资源监控器确实 ,所以我能够 从那里杀死它可以解决问题 ,而无需重新启动。 – A__19年6月19日在21:23

答案 9 :(得分:0)

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

打开提升的命令提示符 (cmd -> Run as administrator),然后编写以下命令并按 Enter:

wmic process where name='YOUR_PROCESS_NAME.exe' delete

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

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

wmic process where name='console.exe' delete

答案 10 :(得分:-1)

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

答案 11 :(得分:-1)

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

如果使用的是Visual Studio,并且发生此错误,则可以尝试附加到进程(CTRL + ALT + P)并找到“(program).exe”进程。当您尝试附加到它时,将显示一条错误消息,指出它附加失败,从而使该进程从“运行”中删除(即使不是...)。您还可以从中删除(program).exe您的Debug文件夹。

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

答案 12 :(得分:-2)

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