Текущий архив: 2015.09.10;
Скачать: CL | DM;
Вниз
Как сделать Variants и System.Variants одним юнитом в XE6? Найти похожие ветки
← →
Дмитрий Белькевич © (2014-11-05 19:51) [0]Добрый день.
Пытаюсь собирать проект из командной строки с помощью компилятора dcc32.exe. Он не распознает модули, описанные кратко, как "Variants" с новыми названиями типа "System.Variants". Пишет Fatal: F1026 File not found: "...Variants.dcu". В среде проект собирается нормально. Скажите - какой параметр нужно передать для dcc32, что бы он собирал проект так же, как это происходит в среде?
← →
MBo © (2014-11-05 20:18) [1]namespace определить
-NSSystem;VCL и т.д.
Возможно, если собирать с помощью MSBuild - будет проще (я не использовал)
← →
MBo © (2014-11-05 20:23) [2]Вот что в dproj за это отвечает:
<DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;D atasnap;Web;Soap;Winapi;$(DCC_Namespace)</DCC_Namespace>
И эмэсбилд этот файл берет:
msbuild ATest.dproj /t:Rebuild /p:Config=Release
← →
Rouse_ © (2014-11-05 20:25) [3]
> Пытаюсь собирать проект из командной строки с помощью компилятора
> dcc32.exe. Он не распознает модули
Значит неверно указаны параметры командной строки на входе.
Дам совет, сделай прокси, которая выступит в качестве dcc32 и напишет тебе все параметры передаваемые компилеру на вход.
← →
Игорь Шевченко © (2014-11-05 23:47) [4]Среда при сборке показывает dcc command line
← →
DVM © (2014-11-05 23:52) [5]MSBuild надо использовать как уже сказали. В файле проекта все эти Unit Scope описаны.
← →
DVM © (2014-11-05 23:55) [6]А использовать dcc32 напрямую - пустая трата времени, т.к. любые настройки относительно параметров компиляции и сборки придется делать в таком случае дважды - один раз для компиляции в среде, второй - из командной строки. MSBUILD вообще очень гибкое средство, есть кучи тасков под разные задачи, можно наклепать и своих.
← →
Германн © (2014-11-06 02:30) [7]Любопытства ради. А кто такой MSBuild? И где его найти?
← →
MBo © (2014-11-06 07:37) [8]>Германн © (06.11.14 02:30) [7]
Утилита для сборки (типа make), входит в состав последних RAD Studio. Её использует и сама среда.
← →
Дмитрий Белькевич © (2014-11-06 08:15) [9]MSBuild собрало :) I"m like it :) буду разбираться и скрипты под него переписывать...
нашел такую ссылку еще.
http://docwiki.embarcadero.com/RADStudio/XE6/en/Building_a_Project_Using_an_MSBuild_Command
на удивление - всё заработало, собрало и для win64 и для win32 с первого раза, можно признать чудом :)
← →
DVM © (2014-11-06 10:18) [10]
> Дмитрий Белькевич © (06.11.14 08:15) [9]
В дополнение, чтобы dcc32 распознавал алиасы, надо ему в командной строке в ключе -A их перечислять все:
SET UNITALIASES=-ARtti=System.Rtti -ATypInfo=System.TypInfo -AZLIB=System.ZLIB -ADB=Data.DB -AStrUtils=System.StrUtils -AShellAPI=Winapi.ShellAPI ....
"%DELPHIROOT%\bin\dcc32.exe" -CG -Q -B+ -$B- -$D- -$A8+ -$Q- -$R- -$S- -$L- -$M- -$O+ -$W- -$Y- -$Z1+ -$J- -$C- -$U- -$I- %UNITALIASES% ....
только муторно это
← →
jack128 © (2014-11-06 14:59) [11]
> Утилита для сборки (типа make), входит в состав последних
> RAD Studio.
Это часть .NET
← →
Дмитрий Белькевич © (2014-11-06 18:31) [12]Да, MSBuild в дотнете лежит.
>строке в ключе -A их перечислять все:
можно утащить список параметров компиляции, но буду пробовать на msbuild перейти.
← →
Rouse_ © (2014-11-06 19:22) [13]
> Игорь Шевченко © (05.11.14 23:47) [4]
> Среда при сборке показывает dcc command line
Мы тоже так думали, когда билдсервер поднимали, в итоге там был какой-то нюанс, который показала только прокся над dcc32.exe.
Давно конечно было, но может Jack128 вспомнит, бо сейчас это его епархия :)
← →
jack128 © (2014-11-06 21:13) [14]
> Мы тоже так думали, когда билдсервер поднимали, в итоге
> там был какой-то нюанс, который показала только прокся над
> dcc32.exe.
не-не-не, ты перепутал. Проксю для dcc мы писали, когда с эврекой разбирались.
← →
Rouse_ © (2014-11-06 21:25) [15]
> jack128 © (06.11.14 21:13) [14]
> не-не-не, ты перепутал. Проксю для dcc мы писали, когда
> с эврекой разбирались.
Это тоже, но помнишь ты говорил что там не все гладко с переменными окружения, когда мы еще без эврики билдсервак запускали. Траблы кажется с директивами DEBUG/RELEASE были...
← →
Германн © (2014-11-07 02:59) [16]
> jack128 © (06.11.14 14:59) [11]
>
>
> > Утилита для сборки (типа make), входит в состав последних
> > RAD Studio.
>
> Это часть .NET
Теперь понятно почему у меня его нет.
← →
Дмитрий Белькевич © (2014-11-08 15:39) [17]Вот это дополнительно нужно:
http://stackoverflow.com/questions/5633221/how-to-compile-a-delphi-projectgroup-using-msbuild-called-from-an-embarcadero-ma
запускать rsvars.bat.
← →
MBo © (2014-11-10 07:59) [18]До кучи - про использование bat-файлов в сборке
http://wiert.me/2014/11/06/delphi-and-batch-files/
Страницы: 1 вся ветка
Текущий архив: 2015.09.10;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.05 c