Cha*_*ang 9 delphi dcc32 delphi-xe2
安装Delphi XE2后,我尝试命令行编译dcc32.exe来编译一个简单的程序:
program test;
uses SysUtils;
begin
end.
Run Code Online (Sandbox Code Playgroud)
命令行编译器显示错误:
c:> dcc32.exe test.dpr
Embarcadero Delphi for Win32编译器版本23.0版权所有(c)1983,2011 Embarcadero Technologies,
Inc.test.dpr(3)致命:F1026未找到文件:'SysUtils.dcu'
这不会发生在Delphi XE上.
Nat*_*Nat 29
如果您只想使用命令行(不使用dcc32.cfg),您要查找的命令行参数是-NS,以指定要搜索的命名空间...
所以,你会有这样的事情:
dcc32.exe -NSsystem;vcl test.dpr
Run Code Online (Sandbox Code Playgroud)
这应该使编译器在System和VCL名称空间中查找单元(添加VCL以显示如何附加多个名称空间).
此信息可在Embarcadero论坛中找到.我还没有XE2所以我无法测试它.
Uwe*_*abe 13
由于RTL和VCL中的新命名空间,您必须为编译器指定其他命令行参数.尝试"-NSSystem; System.Win; WinAPI; Vcl; Vcl.Imaging; Data"并根据需要添加其他命名空间.
我知道这不是你的直接问题的答案(Uwe和Nat已经涵盖了这个问题),但是使用msbuild构建你会好得多.这样你就可以获取.dproj文件中的所有设置.
构建命令应如下所示:
msbuild test.dproj /t:Rebuild /p:Config=Release
Run Code Online (Sandbox Code Playgroud)
如果要从批处理脚本构建它,则需要确保它能够正确显示msbuild.像这样做:
call "path\to\delphi\installation\bin\rsvars.bat"
msbuild test.dproj /t:Rebuild /p:Config=Release
Run Code Online (Sandbox Code Playgroud)