delphi - 软件包的BPL转到错误的软件包输出目录

标签 delphi packages delphi-xe

我有一个包含多个软件包的项目组,其中一些需要在同一项目组中使用其他软件包。软件包并非都具有相同的软件包输出目录集。问题就从这里开始。根据我构建BPL的软件包的不同,一些时间会转到一个目录,而另一个时间会转到另一个目录。

我试图简化正在发生的事情。假设我们有两个包PackLibPackDependentPackDependent在其“要求”列表中具有PackLibPackLib的“包输出目录”是“ C:\ PackLib”,PackDependent的目录是“ C:\ PackDependent”。这是问题所在:当我生成PackLib时,bpl转到“ C:\ PackLib”-这就是我想要的。但是,当我构建PackDependent时,也会构建PackLib(可以),但是这次PackLib.bpl转到“ C:\ PackDependent”(预期:“ C:\ PackLib”)!

在我的上下文中,这会导致各种奇怪的行为,因为BPL不断生成到不同的目录,具体取决于我构建的软件包。

我是否缺少需要配置的内容?我希望我的软件包始终转到已配置的“软件包输出目录”!

最佳答案

可能发生的情况是由于另一个程序包而隐式构建了您的从属程序包。发生这种情况时,最外层软件包的编译器选项将用于所有正在构建的软件包。您可以执行的操作是,通过在每个软件包dpk文件中设置{$ IMPLICITBUILD OFF}伪指令,切换为始终显式构建软件包。只要您从依赖关系树的顶部向下显式构建所有软件包,就永远不会遇到错误或将软件包放置在错误的位置。

关于delphi - 软件包的BPL转到错误的软件包输出目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5155157/

相关文章:

delphi - 双击Windows Service可执行文件进行配置

string - Delphi中大字符串的安全连接

Eclipse 不显示包中的类

r - 可以声明包依赖项的显式版本吗?

delphi - RAD 工作室 2011 (?)

delphi - 如何确定 Delphi 应用程序中终结期间抛出异常的位置?

delphi - 如何将一个类实例的属性复制到同一类的另一个实例?

delphi - 共享事件处理程序如何知道它正在处理哪个控件的事件?

laravel - 如何从供应商目录生成 laravel composer.json?

delphi - 在油漆盒上绘图 - 如何及时跟上鼠标的移动?