Хорошо, я думаю, у меня это работает.Мне удалось скомпилировать наше приложение в гостевой системе VMware, на которой не было установлено ни одного из наших инструментов для разработчиков (RAD Studio, EurekaLog и т. Д.).В основном у меня есть папка компилятора с этими файлами:
Оказывается, вам нужно всего несколько файлов.В основном эти файлы:
02/05/2008 05:13 PM 89,088 BorDebug.dll
11/02/2009 06:02 PM 57,344 Borland.Build.Tasks.Common.dll
11/02/2009 06:02 PM 147,456 Borland.Build.Tasks.Delphi.dll
11/02/2009 06:02 PM 49,152 Borland.Build.Tasks.Shared.dll
11/02/2009 06:02 PM 20,480 Borland.Globalization.dll
08/19/2009 05:00 PM 22,370 CodeGear.Common.Targets
08/19/2009 05:00 PM 32,928 CodeGear.Delphi.Targets
11/02/2009 06:02 PM 1,328,128 DCC32.EXE
02/25/2010 08:17 AM 979,456 ecc32.exe
11/02/2009 06:02 PM 314,368 lnkdfm140.dll
02/25/2010 08:11 AM 40,960 Process.exe
08/19/2009 05:00 PM 75,264 rlink32.dll
06/15/2010 08:41 AM 185 rsvars.bat
Может быть, я мог бы выхватить еще несколько этих файлов.У нас также есть папка компонентов, в которой есть все встроенные файлы VCL (в основном папки lib и Indy10) и наши сторонние компоненты.В Delphi я установил путь к библиотеке пусто - этот шаг является ключевым.Затем я поместил этот путь к библиотеке в конкретные параметры проекта.Мы использовали переменные окружения, чтобы указать, где находятся встроенные и сторонние файлы.Эти переменные среды устанавливаются в RAD Studio, а затем могут быть установлены с помощью командной строки при выполнении компиляции релиза.Итак, у нас есть BAT-файл, подобный следующему:
SET BDS=C:\_Releases\Compiler
SET COREFILES=C:\_Components\D2010
SET COMPONENTS=C:\_Components
SET LANGDIR=EN
Путь к нашей библиотеке выглядит примерно так:
$(COREFILES)\lib;$(COREFILES)\Indy10;$(COMPONENTS)\EurekaLog;$(COMPONENTS)\Jcl\source\common;$(COMPONENTS)\Jcl\source\windows
Теперь в нашей первичной сессии VMware, которая простоMSBuild и необработанные файлы, описанные выше, я могу назвать этими командами:
msbuild project.dproj -t:rebuild /p:config=Release
ecc32 --el_alter_exe"project.dproj"
, которая создает наше приложение.Конечно, мы просто используем личность Delphi32, которая упрощает вещи, но для нас, я думаю, это будет работать фантастически.