delphi中单独编译pas生成dcu文件 

在网上下载了一个带源码的组件,结果碰到提示说缺少xxx.dcu。一看它的目录下确实没有,那能不能生成一个呢?

当然可以!

方法是使用delphi的安装目录\bin文件夹下的的dcc32.exe。

例如:

dcc32 myUnit.pas

正常情况下运行上面的命令就会编译myUnit.pas生成 myUnit.dcu文件。

(默认生成的.dcu是和.pas在同一文件夹下的)

下附该命令的使用方法和详细说明(来自大富翁论坛网友帖子):

DCC32的使用方法:

文件介绍:

Delphi7\Bin\DCC32.EXE:编译器(必要)

Delphi7\Bin\rlink32.dll:用于连接资源文件(如果有资源文件时需要)

Delphi7\Bin\dcc32.cfg:配置文件(可选,主要用于指定“-u”参数路径)

创建一个批处理文件,如:Dcc.bat,存放在工程文件的目录下:

Dcc32 xxx. Dpr

如果要指定文件输出路径:

Dcc32 xxx. Dpr –e”c:\bin”

注意:-e和后面目录之间无空格。

运行批处理文件Dcc.bat,提示没有找到xxx,可以在\Delphi7\Lib\Debug或者是\Delphi7\Lib目录下找到,拷贝到工程文件目录即可。要不就直接用dcc32.cfg,打开dcc32.cfg文件你就可以看到“-u”参数指向的目录了。

这里把所有的文件都放在同一目录了,你可以重新调整,规范下。

最好在没有安装Delphi的机器上执行下,看还缺少哪些文件。

我也是刚接触没几天,只是用来编译一些只“uses SysUtils;”的Dll工程文件,所以我只用到几个文件:

Delphi7\Bin:

DCC32.EXE,rlink32.dll。

Delphi7\Lib\Debug:

SysConst.dcu,SysInit.dcu,System.dcu,SysUtils.dcu,Types.dcu,Windows.dcu。

DCC32 参数说明

选项    描述

Aunit=alias 设置单元别名

B      编译所有单元

CC     编译控制台程序

CG     编译图形界面程序

Ddefines  编译条件符号定义

Epath    可执行文件输出路径

Foffset   查找运行期间错误

GD     生成完整.Map文件

GP     生成.Map文件Public段

GS     生成.Map文件Segment段

H      输出提示信息

Ipaths   文件包含路径

J      生成.Obj目标文件

JP     生成C++类型.Obj目标文件

Kaddress  Set image base address

LEpath   包.BPL文件输出路径

LNpath   .dcp文件输出路径

LUpackage  使用运行期间包列表

M      编译有改动的源文件

Npath    dcu/dpu文件输出目录

Opaths   .Obj文件(汇编目标代码文件)路径

P      按8.3格式文件名查找

Q      安静模式

Rpaths   资源文件(.RES)路径

TXext    目标文件扩展名

Upaths   单元文件路径

V      为Turbo Debugger生成调试信息文件

VN     以.Giant格式生成包含命名空间的调试信息文件(将用于C++Builder)

VR     生成调试信息文件.rsm

W      输出警告信息

Z      Disable implicit compilation

$directive Compiler directives

–Help   显示编译选项的帮助。同样的,如果你在命令行单独输入dcc32,也会显示编译选项的帮助。

–version  显示产品名称和版本