繁体   English   中英

在Delphi 6 Professional IDE中使用DCC32编译项目

[英]Compiling projects with DCC32 as in Delphi 6 professional IDE

IDE:Delphi 6专业版。

我们有大项目。

我无法使用项目组来全部构建它们,因为这样做时会遇到OM错误和奇怪的文件错误。

我的想法是,我将使用DCC32.exe以前我曾与命令行参数(dcc32.cfg)进行过较量,但我认为我已解决了它。

今天,我尝试使用它来编译项目,但是在最初的项目中我遇到了错误。

chdir c:\\ d \\ anyproject dcc32 -b any.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中,这些工具是产品的一部分。

这可能会有所帮助:

http://delphi.wikia.com/wiki/Compile_from_Commandline

它描述了如何使用从Delphi 1到XE3的Delphi版本进行命令行编译,并链接到可能会有所帮助的工具dof2cfg。

IIRC命令行编译器始终使用在当前文件夹或dcc32.exe所在的位置中找到的名为dcc32.cfg的配置文件。 您可以尝试将.cfg文件重命名或复制到dcc32.cfg,看看是否可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM