[Delphi]DCC32自动编译目标项目无法生成DCU的解决方案

最近为方面公司内部配置管理,所有代码提交到svn后,由CM来生成程序。
考虑到CM的能力水平,只能用批处理帮其自动编译与打包。
因驱动都是用Delphi写的,就给采用DCC32来编译。
 
原目录结构如下:
+build
|    |__build.cmd   编译脚本
|
+doc
|
+lib
|
+src
    |__sample.dpr  目标项目
 
因自动编译脚本放在build目录下,出现问题如下:
1、外部Lib能自动生成dcu;
2、目标项目sample.dpr不能生成dcu,直接报无法找到 ***.dcu的错误。
 
 
解决方案:
 
1、将build.cmd移动到src目录下
+build
|
+doc
|
+lib
|
+src
    |__build.cmd   编译脚本
    |__sample.dpr  目标项目
 
 
2、build.cmd脚本如下:
 
::==========================================================
::通过注册表查找dcc32的路径,这里是Delphi2007版本的
for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Borland\BDS\5.0" /v "RootDir"') do (
set app_dir=%%j
)
IF defined q (echo %q%) else (set q=0)
 
set compiler=%app_dir%bin\DCC32.EXE
 
"%compiler%" sample.dpr -m
 
IF %ERRORLEVEL% NEQ 0 goto error
 
:success
echo "驱动编译成功!"
IF %q% NEQ 1 pause
goto end
 
:error
echo "驱动失败。"
IF %q% NEQ 1 pause
goto end
 
:end
rem 直接返回
::==========================================================
 
 
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  显示产品名称和版本

posted on   癫狂编程  阅读(222)  评论(0编辑  收藏  举报

编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
好的代码像粥一样,都是用时间熬出来的
点击右上角即可分享
微信分享提示