Delphi XE2:使用dcc32.exe编译简单程序失败

时间:2011-09-07 07:33:37

标签: delphi delphi-xe2 dcc32

安装Delphi XE2之后,我尝试命令行编译dcc32.exe来编译一个简单的程序:

program test;

uses SysUtils;

begin
end.

命令行编译器显示错误:

  

C:GT; dcc32.exe test.dpr
      Embarcadero Delphi for Win32编译器版本23.0       版权所有(c)1983,2011 Embarcadero Technologies,Inc。
      test.dpr(3)致命:F1026找不到文件:'SysUtils.dcu'

这不会发生在Delphi XE上。

4 个答案:

答案 0 :(得分:29)

如果您只想使用命令行(不使用dcc32.cfg),您要查找的命令行参数是-NS,以指定要搜索的命名空间...

所以,你会有这样的事情:

dcc32.exe -NSsystem;vcl test.dpr

这应该使编译器在SystemVCL命名空间中查找单元(添加VCL以显示如何附加多个命名空间)。

此信息在Embarcadero Discussion Forums上找到。我还没有XE2所以我无法测试它。

答案 1 :(得分:13)

由于RTL和VCL中的新命名空间,您必须为编译器指定其他命令行参数。尝试“-NSSystem; System.Win; WinAPI; Vcl; Vcl.Imaging; Data”并根据需要添加其他名称空间。

答案 2 :(得分:8)

我知道这不是你的直接问题的答案(Uwe和Nat已经覆盖了这个问题),但是使用msbuild构建你会好得多。这样你就可以获取.dproj文件中的所有设置。

构建命令应如下所示:

msbuild test.dproj /t:Rebuild /p:Config=Release

如果要从批处理脚本构建此代码,则需要确保它能够看到正确的msbuild。这样做:

call "path\to\delphi\installation\bin\rsvars.bat"
msbuild test.dproj /t:Rebuild /p:Config=Release

答案 3 :(得分:-1)

如果您使用的是Hewlett Packard PC或笔记本电脑,则可能需要删除“平台”环境设置(在Windows中)。预配置(工厂)HP windows7(由于我不知道的原因)具有环境变量Platform = AnyCPU。这会影响Delphi XE2。我昨晚发现了这个讨论,这对我有所帮助: https://forums.embarcadero.com/thread.jspa?messageID=387525&tstart=0 没有那个修复,我无法编译任何东西。它会阻塞VCL和FireMonkey,无论我是64位还是32位都没关系。