delphi中单独编译pas生成dcu文件
在网上下载了一个带源码的组件,结果碰到提示说缺少xxx.dcu。一看它的目录下确实没有,那能不能生成一个呢?
当然可以!
方法是使用delphi的安装目录in文件夹下的的dcc32.exe。
例如:
dcc32 myUnit.pas
正常情况下运行上面的命令就会编译myUnit.pas生成 myUnit.dcu文件。
(默认生成的.dcu是和.pas在同一文件夹下的)
下附该命令的使用方法和详细说明(来自大富翁论坛网友帖子):
DCC32的使用方法:
文件介绍:
Delphi7BinDCC32.EXE:编译器(必要)
Delphi7Bin
link32.dll:用于连接资源文件(如果有资源文件时需要)
Delphi7Bindcc32.cfg:配置文件(可选,主要用于指定“-u”参数路径)
创建一个批处理文件,如:Dcc.bat,存放在工程文件的目录下:
Dcc32 xxx. Dpr
如果要指定文件输出路径:
Dcc32 xxx. Dpr –e”c:in”
注意:-e和后面目录之间无空格。
运行批处理文件Dcc.bat,提示没有找到xxx,可以在Delphi7LibDebug或者是Delphi7Lib目录下找到,拷贝到工程文件目录即可。要不就直接用dcc32.cfg,打开dcc32.cfg文件你就可以看到“-u”参数指向的目录了。
这里把所有的文件都放在同一目录了,你可以重新调整,规范下。
最好在没有安装Delphi的机器上执行下,看还缺少哪些文件。
我也是刚接触没几天,只是用来编译一些只“uses SysUtils;”的Dll工程文件,所以我只用到几个文件:
Delphi7Bin:
DCC32.EXE,rlink32.dll。
Delphi7LibDebug:
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 显示产品名称和版本