gpt4 book ai didi

delphi - 像在 Delphi 6 专业 IDE 中一样使用 DCC32 编译项目

转载 作者:行者123 更新时间:2023-12-03 15:42:13 33 4
gpt4 key购买 nike

IDE:Delphi 6 Professional。

我们有大项目。

我无法使用项目组来构建所有这些,因为我在执行此操作时遇到了 OM 错误和奇怪的文件错误。

我的想法是使用 DCC32.exe之前我与命令行参数(dcc32.cfg)发生过争执,但我以为我解决了它......

今天我尝试用它编译项目,但在第一个项目中我遇到了错误。

chdir c:\d\anyprojectdcc32 -b 任意.dpr

错误报告我没有找到单元。我尝试在Delphi中编译,成功了。

所以我检查了问题。为什么以前的项目建筑成功了,为什么这个不……?

然后我意识到这个 dpr 使用的是对子目录的引用,但并非所有文件都添加到项目中,更多文件是通过项目的“搜索路径”链接的。

但如果这是真的,那么这意味着 DCC32 没有使用项目的 DOF/CFG 文件!

所以问题是 Delphi 合并所有内容来提供结果。它合并了全局搜索路径、项目的编译器指令、搜索路径等所有内容,并且还使用了项目的条件指令。

如果我理解得很好,DCC32不使用,只使用dcc32.cfg,并且我必须合并所有内容进行编译,这是不可能的工作,因为我需要编写一个解析器来解释项目的参数,并与全局合并。

或者我误解了某些东西,而问题是由我错过的其他东西引起的?

我等待您的建议!

感谢您提供的所有想法、链接、信息等。

最佳答案

来自以下位置的 dcc32 选项:

  1. dcc32.cfg 文件。它可以位于当前目录中,也可以位于与 dcc32.exe 相同的目录中。
  2. 命令行。
  3. 源代码。

我已按照优先级递增的顺序对这些进行排序。因此,源代码中指定的选项始终会覆盖 dcc32.cfg 文件或命令行中的设置。

dcc32.exe 将选择它首先找到的 dcc32.cfg 文件。它首先在当前目录中查找。

这一切意味着您负责从 .dof 文件获取设置,并从 IDE 获取到命令行编译环境。

这是您应该升级的众多原因之一。现代 Delphi 版本使用 msbuild 进行命令行编译,并且可以轻松确保您的命令行构建与 IDE 构建相同。

当您观察正在进行的 msbuild 时,您将看到它会调用 dcc32.exe,并在命令行上指定所有选项。您现在面临的是将项目设置转换为对 dcc32.exe 的调用。在 Delphi 6 中你必须自己做这件事。在现代 Delphi 中,工具是产品的一部分。

关于delphi - 像在 Delphi 6 专业 IDE 中一样使用 DCC32 编译项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13307682/

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