[英]Compiling projects with DCC32 as in Delphi 6 professional IDE
IDE:Delphi 6專業版。
我們有大項目。
我無法使用項目組來全部構建它們,因為這樣做時會遇到OM錯誤和奇怪的文件錯誤。
我的想法是,我將使用DCC32.exe以前我曾與命令行參數(dcc32.cfg)進行過較量,但我認為我已解決了它。
今天,我嘗試使用它來編譯項目,但是在最初的項目中我遇到了錯誤。
chdir c:\\ d \\ anyproject dcc32 -b any.dpr
錯誤報告我找不到單位。 我嘗試在Delphi中進行編譯,並且成功。
所以我檢查了問題。 為什么以前的項目建築成功,為什么不成功?
然后,我意識到該dpr使用的是對子目錄的引用,但並不是所有添加到項目中的文件,更多的文件是通過項目的“搜索路徑”鏈接的。
但是,如果這是真的,那么這意味着DCC32不會使用項目的DOF / CFG文件!
因此,問題在於Delphi合並了所有內容以提供結果。 它合並了全局搜索路徑,項目的編譯器指令,搜索路徑,以及所有內容,還使用了項目的條件指令。
如果我理解得很清楚,那么DCC32就不會使用,只會使用dcc32.cfg,而且我必須合並所有內容進行編譯,這是不可能完成的工作,因為我需要編寫一個解析器來解釋項目的參數並合並與全球人士。
還是我誤會了某件事,而問題又是由我錯過的另一件事引起的?
我等待您的建議!
感謝您提供的所有想法,鏈接,信息等。
dcc32選項來自以下位置:
我按優先級從高到低的順序排列這些。 因此,在源代碼中指定的選項始終會覆蓋dcc32.cfg文件或命令行中的設置。
dcc32.exe將選擇它首先找到的dcc32.cfg文件。 它首先在當前目錄中查找。
這意味着您有責任從.dof文件以及從IDE獲取設置到命令行編譯環境。
這是您應該升級的眾多原因之一。 現代的Delphi版本使用msbuild進行命令行編譯,並使其非常容易地確保您的命令行生成與IDE生成相同。
當您查看正在進行的msbuild時,您會看到它導致對dcc32.exe的調用,並在命令行上指定了所有選項。 您現在面臨的是將項目設置轉換為對dcc32.exe的調用。 在Delphi 6中,您必須自己做。 在現代的Delphi中,這些工具是產品的一部分。
這可能會有所幫助:
http://delphi.wikia.com/wiki/Compile_from_Commandline
它描述了如何使用從Delphi 1到XE3的Delphi版本進行命令行編譯,並鏈接到可能會有所幫助的工具dof2cfg。
IIRC命令行編譯器始終使用在當前文件夾或dcc32.exe所在的位置中找到的名為dcc32.cfg的配置文件。 您可以嘗試將.cfg文件重命名或復制到dcc32.cfg,看看是否可以解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.