gpt4 book ai didi

delphi - 如何将 32 位和 64 位 DCU 编译到单独的目录中?

转载 作者:行者123 更新时间:2023-12-03 14:51:08 30 4
gpt4 key购买 nike

我正在尝试维护一个存储库,我的代码库中的大多数内容都是源代码,但我们有 QuickPDF 库,它是一堆预编译的 DCU。我想以某种方式将它们放入版本控制中,但我不想为 win64 设置另一个选项,在将我的万亿 LOC 代码库的其余部分转换为 win64 之前,我会忘记这个选项。

我的想法只是拥有(quickPDF只是一个例子,除了它不幸的预编译性之外,这个库没有什么特别的)

  • ctrls\quickpdf\QuickPDF.pas
  • ctrls\quickpdf\win32[*.dcu]
  • ctrls\quickpdf\win64[*.dcu]

从 Program Files 中的文件夹来看,Embarcadero 与 VCL 做了类似的事情。那里甚至还有一些预编译的东西,比如 VCL.Imaging.JPEG.pas。

我该如何做同样的事情?我是否需要指定 win32 和 win64 文件夹,或者是否有一些我可以点击的神奇地方?

最佳答案

您所谈论的魔力可以在普通 XE2 VCL Forms 应用程序的 .dproj 文件中看到。关键因素是这些变量:

  • $(Platform) 可以是 Windows 上的 Win32 或 Win64。
  • $(Config) 通常是“调试”或“发布”。

然后在 .dproj 文件中,以下 XML 发挥了魔力:

<PropertyGroup Condition="'$(Base)'!=''">
<DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
<DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
</PropertyGroup>

您可以将此类技巧与任何项目选项的 $(Platform)$(Config) 变量一起使用。因此,您只需使用这些变量来设置编译器需要设置的任何选项即可找到预编译的 DCU。

据我所知,您需要设置的选项是搜索路径。尽管我承认对搜索路径的工作原理很模糊,因为我个人从不依赖搜索路径,并且总是明确地将所有源文件包含在我的项目中。在您的示例中,您将 ctrls\quickpdf\($Platform) 添加到搜索路径。

关于delphi - 如何将 32 位和 64 位 DCU 编译到单独的目录中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417018/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com