【问题标题】:Link with runtime packages与运行时包链接
【发布时间】:2014-04-13 07:47:09
【问题描述】:

当我将“与运行时包的链接”设置为 true 来构建项目时,输出 exe 非常小,在我的电脑上,exe 工作正常,但有些人收到缺少 rtl190.bpl 的错误。我怎样才能解决这个问题?我仍然想要一个小的输出文件。

【问题讨论】:

标签: delphi runtime-packages


【解决方案1】:

如错误所述,您缺少来自用户 PC 的文件 rtl190.bpl。

虽然使用运行时包编译会产生更小的 .exe 文件,但您仍然需要将所有关联的 .bpl 文件与您的 .exe 一起分发。 .BPL 文件实际上是 DLL 文件,因此您的程序仍然需要它们才能正确运行。

例如,您会发现 rtl190.bpl 本身就是一个非常大的文件,因此如果您的最终目标是生成最小的分发文件,我不会使用运行时包进行编译。只需编译成“胖”二进制文件和单个 .exe。如果您也使用 3rd 方组件,您还需要分发这些文件 (.bpl),您最终会发现文件的最终总大小远远大于单个编译 .exe

【讨论】:

  • 运行时包在您有多个使用相同运行时的应用程序时非常有用。您可以部署运行时一次,然后编译使用它的较小的应用程序可执行文件。如果您正在部署单个应用程序,或者只是不想部署单独的运行时,请禁用运行时包。
  • 如果您经常更新应用程序,运行时包也很有用
  • 如果启用了运行时包,如果文件可以从项目文件/主文件中排除,那就太好了,这样人们就可以在 exe 中的所有内容之间切换或保持分离。现在没有编译器指令来检测编译器的运行时包的构建,如果有用于将源文件添加到项目的 ifdefs,则 main 通常会被 IDE 搞砸。有时调试器在调试运行时包时会遇到问题,这就是为什么可以切换到所有源代码构建的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 2018-02-07
  • 2016-03-11
  • 1970-01-01
相关资源
最近更新 更多