【发布时间】:2020-11-16 17:44:38
【问题描述】:
我正在尝试自动构建我的项目,使用 DCC32 进行编译。
在 IDE 中编译的同一个项目可以编译,但是当我调用 DCC32 时,我得到以下错误:
c:\myproject>dcc32 myproject.dpr
Embarcadero Delphi for Win32 compiler version 33.0
Copyright (c) 1983,2018 Embarcadero Technologies, Inc.
myproject.dpr(56) Fatal: F2613 Unit 'Forms' not found.
我应该如何处理 DCC32 与 IDE 编译器完全一样的工作?
【问题讨论】:
-
这取决于您使用的库、创建单元的版本以及编译项目的版本。但由于 dcc32 将仅使用 .dpr 文件进行编译(以及它引用的单元),因此在 .dproj 文件中设置的所有其他编译器选项都需要作为 dcc32 的命令行参数提供。关于您的错误:您需要指定单元前缀,例如“vcl”。
-
好的,我可以通过添加“Vcl.”来解决这个特定问题。在“表格”之前。但是像这样的问题还有很多。有没有一种方法可以像 IDE 编译一样进行 dcc32 编译,而无需进一步配置?也许我错过了一些 DCC32 开关
-
抱歉造成误解,但我将“指定单位别名”作为命令行参数(例如 -A Forms=Vcl.Forms)。这样你就不需要修改你的代码。但是您需要指定更多内容。请参阅命令行选项列表docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/…。但是你还需要为图书馆等提供搜索誓言......
-
我只想像 IDE 一样编译 DCC32...这应该很容易,因为 IDE 编译正常,没有任何错误
-
不要直接调用dcc32,使用
msbuild。那么这些烦恼都会烟消云散。