Delphi DLL项目在自定义BPL中找不到单位,除非;链接到运行时包”;是真的

Delphi DLL项目在自定义BPL中找不到单位,除非;链接到运行时包”;是真的,delphi,Delphi,我有一个DLL项目,它依赖于我的另一个项目,它打包在BPL中 在Delphi中,当试图编译DLL项目时,它不会在BPL中找到单元,尽管BPL位于搜索路径中 奇怪的是,当我选中“与运行时库的链接”时,它编译得很好。然而,这还有其他缺点,所以我想把它设为false 有什么建议吗?编译器不使用BPL,无论是否使用运行时包。当使用运行时包进行编译时,将使用DCP(很明显,它位于搜索路径中)。如果没有运行时包,您必须提供DCU或PAS文件。如果不使用运行时包,您就不能在包(BPL)中使用代码。如果不想使用

我有一个DLL项目,它依赖于我的另一个项目,它打包在BPL中

在Delphi中,当试图编译DLL项目时,它不会在BPL中找到单元,尽管BPL位于搜索路径中

奇怪的是,当我选中“与运行时库的链接”时,它编译得很好。然而,这还有其他缺点,所以我想把它设为false


有什么建议吗?

编译器不使用BPL,无论是否使用运行时包。当使用运行时包进行编译时,将使用DCP(很明显,它位于搜索路径中)。如果没有运行时包,您必须提供DCU或PAS文件。

如果不使用运行时包,您就不能在包(BPL)中使用代码。如果不想使用包,请提供编译器可以找到的.dcu文件,以便将其链接到可执行文件中。您不能同时拥有它(不要使用运行时包,而是使用您自己的运行时包);支持加载包的代码位于RTL/VCL运行时包中,因此使用您的包需要这些代码。