16

所以一段时间以来,我一直遇到这个问题:

在 Windows 7(64 位)上,使用 Delphi 7 和 Delphi XE2,如果从 IDE 中编译一个程序,运行它,停止它,更改它并重新运行它,我会收到以下错误消息:

[致命错误] 无法创建输出文件“project1.exe”

我不知道是什么原因造成的。我搜索了更多信息,但找不到解决方案。

有两种解决方法:等待一两分钟,或者手动删除 project1.exe。不用说,这是行不通的。

我没有病毒扫描程序,也没有病毒。拥有对相关文件夹的完全访问权限。以管理员身份运行一切。

那么是什么原因造成的呢?我能做些什么来解决它?

4

15 回答 15

16

我找到了解决方案。似乎禁用服务“应用程序体验”导致了这种情况。禁用时,“系统”任务将锁定“任何”可执行文件一段时间。

重新启用“应用程序体验”是解决方案。

通过以下方式找到:

https://superuser.com/questions/260375/why-would-system-continue-locking-executable-file-handles-after-the-app-has-exit

于 2012-08-08T07:34:59.147 回答
5

我感觉当您尝试重建应用程序时,project1.exe 仍在运行。也许它需要更长的时间才能关闭。您可以通过打开任务管理器轻松检查,并在关闭应用程序后查看进程project1.exe是否仍处于活动状态。

于 2012-08-07T18:01:09.420 回答
4

我在 XE7 上,偶尔会遇到“无法创建输出文件”问题。使用 sysinternals 的 Process Explorer,我发现一个 android 调试进程 (adb.exe) 对已编译的二进制文件有一个留置权。不知道为什么;我正在构建的这个特定的 win32 项目中没有 android 配置。无论如何,杀死 adb.exe 之后一切都很好。

一些点。目标输出目录从未被索引。该线程中其他地方提到的“应用程序体验”一直在运行。大多数时候,尽管 XE7 抱怨,我还是可以手动删除输出二进制文件。然而,我注意到,我无法通过 shell 删除二进制文件,这提供了通过 Process Explorer 找到有问题的 adb.exe 的机会。

于 2015-02-17T10:45:37.913 回答
3

我遇到了同样的问题,我解决了。似乎在某些未知情况下,exe 应用程序仍在运行。
解决方法很简单。您必须按照以下步骤操作:

  1. 打开windows任务管理器
  2. 转到“进程”选项卡
  3. 单击“显示所有用户的进程”,您的 exe 将出现
  4. 选择它并按“结束进程”按钮

一切都会好起来的。

于 2015-01-29T08:00:27.820 回答
1

如果您正在使用 Castalia,请尝试删除它。我花了 3 天时间试图解决这个问题,我能想到的一切......文件权限,用进程资源管理器查看文件句柄。如果我安装 Castalia 2013.3.4,就会出现问题(我有重现的步骤),卸载它会使问题消失。

此外,如果您设置了“默认调试桌面”,IDE 将崩溃,并尝试使用任何其他保存的布局在调试器下运行。(在切换到调试桌面时发生崩溃)。

于 2013-07-29T00:41:30.483 回答
1

我右键单击应用程序(在项目组窗口中),然后选择 CLEAN。

然后我就可以编译应用程序了。

于 2014-05-07T16:17:54.643 回答
1

在我的情况下,通过从防病毒实时保护中排除项目文件夹来解决问题。

你可以手动删除EXE文件吗?如果没有,进程在内存中,打开任务管理器,选择你的项目,结束任务。您的代码中有一些错误会阻止应用程序终止。

如果它不在进程列表中,请尝试:

1-从 Windows 索引或索引文件的 3rd 方文件搜索应用程序中排除文件夹

2-在windows 7中激活应用程序体验服务

3-从防病毒实时保护中排除项目文件夹

更新

我注意到,即使你按照我上面所说的去做,你可能会在Windows 7中随机出现这个错误。特别是当你多次编译项目时......第一次编译会好的,但十次或更多次后这个问题会发生

于 2017-12-08T07:21:04.727 回答
1

观看此链接:
如何修复错误:[dcc32 致命错误] F2039 无法创建输出文件 X

只有你最常把这个命令放到所有项目中。

于 2018-11-30T15:42:32.480 回答
0

有时 Microsoft Security Essentials 在 Delphi 中构建文件后会保留该文件,您需要关闭实时保护。

要检查哪个进程保存该文件,请使用 Sysinternals Process Explorer: link。使用“查找句柄”并输入您的 exe 名称。

于 2015-10-21T12:35:40.127 回答
0

在我的情况下,这是由于输出文件夹不存在。

因此,您可以尝试转到项目-> 选项并在目录选项卡下,将输出目录更改为存在的文件夹,然后重试。

于 2016-02-23T13:50:17.247 回答
0
  1. 尝试打开windows任务管理器
  2. 如果您在此处找不到您的应用程序,请前往处理
  3. 然后转到详细信息选项卡,您会找到它。

我遇到了同样的问题,然后我在详细信息选项卡上找到了它。

于 2019-11-14T04:22:15.133 回答
0

2020 年 1 月 29 日:在过去的一周里,我经历了这样的事情:在 Win 10 机器上加载 Delphi 7 项目,编译它(成功),从 D7 内部运行项目(成功),重新编译项目并得到一个“无法创建 ....project1.exe”。重启后,可以成功编译执行,但第二次编译失败如上。我发现 Dell Support Assist 在 8 天前(大约开始时间)有更新,所以我将其卸载。之后,D7就没有问题了。

于 2020-01-29T14:12:02.163 回答
0

一个对我有用的解决方案,更改项目选项 - >链接并保持原样,然后手动删除可执行文件并解决。项目选项 -> 链接

于 2020-04-22T07:04:56.863 回答
0

只需将项目保存在另一个地方即可。这个对我有用。

于 2021-09-16T10:06:25.403 回答
-1

我似乎通过将兼容模式设置为 XP SP3 来修复它。这也解决了另一个使 Alt-P 无法打开项目菜单的烦恼。

编辑:我不必重新启用我的应用程序体验。仍然死在它应该在的地方:)

右键单击您的 Delphi 快捷方式,属性,然后选择兼容性选项卡。选择以兼容模式运行程序:Windows XP (Service pack 3)。

(我还选中了以管理员身份运行此程序框,但您可以选择不这样做。)

(根据 OP 的问题,这适用于 Delphi 7,而不适用于 XE7,尽管它也可能适用。)

兼容性设置

于 2015-11-04T09:53:03.757 回答