Компилятор командной строки Delphi - использует тот же путь к библиотеке, что и в IDE - PullRequest
2 голосов
/ 30 ноября 2009

Есть ли способ указать DCC32 использовать тот же путь к библиотеке, который используется в среде IDE (т. Е. В Инструменты / Параметры / Параметры среды / Параметры Delphi / Библиотека - Win32)?

По понятным причинам я не хочу поддерживать два списка каталогов (один в файле cfg, другой в Delphi IDE).

Ответы [ 4 ]

5 голосов
/ 30 ноября 2009

Если вы используете Delphi 2006 или более позднюю версию, вы можете использовать MSBuild вместо dcc32, а MSBuild будет использовать тот же путь поиска, что и IDE

1 голос
/ 01 декабря 2009

Это много работы по использованию 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 и т. Д.

Я написал полный инструмент для автоматической сборки на python (для BDSVER> = 5), когда Delphi 2007, установленная на XP x64, имела сломанный MSBuild. Позже выяснилось, что некоторые необходимые файлы конфигурации не были скопированы в правильную папку .NET установщиком Delphi. Копирование этих файлов в правильное местоположение устранило проблему, и теперь я использую MSBuild.

1 голос
/ 30 ноября 2009

В вашем проекте должен быть файл cfg с именем yourproject namedpr.cfg, который на самом деле должен содержать все каталоги, определенные в IDE для этого проекта.

0 голосов
/ 07 июля 2014

Если вы используете более старую версию Delphi (например, Delphi 7), вы должны поместить всю свою информацию в опцию «Путь поиска» в вашей IDE. Он будет сохранен в вашем файле .dof. Файл .dof является основной ссылкой вашего проекта.

IDE также будет автоматически обновлять .cfg каждый раз, когда вы изменяете конфигурацию проекта. .Cfg определяет параметр компиляции для компилятора командной строки. И .cfg, и .dof должны находиться под контролем версий.

Если вместо редактирования файла .dof из IDE вы вручную отредактируете его, вы можете использовать утилиту dof2cfg , чтобы сгенерировать новый файл .cfg из файла .dof. Вы должны будете поместить это в свою цепочку сборки.

...