IDE で使用されているのと同じライブラリ パスを使用するように DCC32 に指示する方法はありますか (つまり、[ツール]、[オプション]、[環境オプション]、[Delphi オプション]、[ライブラリ - Win32])。
明らかな理由から、ディレクトリのリストを 2 つ (cfg ファイルに 1 つ、Delphi IDE に 1 つ) 維持したくありません。
Delphi 2006 以降を使用している場合は、dcc32 の代わりに MSBuild を使用できます。MSBuild は IDE と同じ検索パスを使用します。
DCC32 を使用してコマンド ラインからビルドするのは大変な作業です。MSBuild ははるかに簡単です。ライブラリ パスはレジストリに保存されますが、場所は Delphi のバージョンによって異なります。たとえば、(Python コード):
if BDSVER == '5.0':
CompanyText = 'Borland'
else:
CompanyText = 'CodeGear'
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,'Software\\' + CompanyText + '\\BDS\\' + BDSVER + '\\Library')
IncludePath = _winreg.QueryValueEx(key,'Search Path')[0]
# Then you must replace the environment vars $(BDS), $(BDSCOMMONDOR) etc
IncludePath = ReplaceEnvironVars(IncludePath)
そして、やるべきことはまだたくさんあります。また、検索パスを取得する必要があり、.dproj ファイルなどから条件定義を取得する必要があります。
XP x64 にインストールされた Delphi 2007 に壊れた MSBuild があったとき、私は Python で完全な自動ビルド ツールを作成しました (BDSVER >= 5 の場合)。その後、必要な構成ファイルの一部 が、Delphi インストーラによって正しい .NET フォルダにコピーされていないことが判明しました。これらのファイルを正しい場所にコピーすると問題が解決し、現在は MSBuild を使用しています。
これは私のために働く:
call "C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\rsvars.bat"
msbuild project.dproj
プロジェクト ディレクトリに yourprojectnamedpr.cfg という名前の cfg ファイルが必要です。このファイルには、実際にはそのプロジェクトの IDE で定義されたすべてのディレクトリが含まれている必要があります。