簡體   English   中英

在Delphi 6 Professional IDE中使用DCC32編譯項目

[英]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選項來自以下位置:

  1. dcc32.cfg文件。 該目錄可以在當前目錄中,也可以與dcc32.exe位於同一目錄中。
  2. 命令行。
  3. 源代碼。

我按優先級從高到低的順序排列這些。 因此,在源代碼中指定的選項始終會覆蓋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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM