- (2014-08-13 18:14:21)
- (2014-08-13 13:16:47)
- (2014-08-09 13:15:18)
- (2014-08-05 09:11:07)
- (2014-07-25 09:10:20)
[Delphi]DCC32自動編譯目標項目無…
最近爲方面公司內部配置管理,所有代碼提交到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 顯示產品名稱和版本
我的更多文章:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.