|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.10.2017, 18:08 | #1 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Батники для компиляции любой версией Delphi
Если у вас установлено несколько версий Delphi, вы можете использовать мой батник (вернее, cmd-шник) для компиляции любой версией. Ну и ещё несколько вспомогательных...
Файлы:
dccAll*.cmd планирую вложить в dcc.cmd как руки дойдут, пока пользуюсь этими вариантами... Немного о том как работает dcc.cmd Батник содержит внутри себя строки с путями к разным компиляторам. Если в командной строке не задан компилятор, используется тот, который задан в батнике (в начале). Компилятор задаётся опцией типа /7 или /XE5, или /102, разрядность - как /32 или /64 (можно так: /XE8/64 или /XE8x64). Таким образом, для компиляции, скажем, из Far'а можно ввести dcc/2007 MyProj.dpr или dcc/XE8/64 MyProj.dpr, или dcc/102x64 MyProj.dpr. Для запуска IDE задаётся опция /ide (лучше комбинировать с /s). См. справку, в общем Немного о том как работает cleandpr.cmd Этому батнику в качестве параметров можно задавать ту же строку, что и при компиляции. Если в этой строке будет присутствовать существующий dpr-файл (можно задавать маску), батник удалит файлы с тем же именем и расширениями cbk ddp drc dsk dsm identcache ~*, а также все файлы с расширениями dcu dcuil drc dsm map ~*, pas-файл которых лежит рядом. Если dpr-файл с указанным именем не будет найден, удаляются только файлы с указанным именем и расширениями cbk ddp drc dsk dsm identcache ~* (без dcu dcuil drc dsm map ~*). Если будет задан (и найден!) pas-файл, также удаляются расширения dcu dcuil drc dsm map ~*, но только для этого файла. Если параметры для батника не заданы, удаляются все указанные расширения для всех файлов (кроме dcu dcuil drc dsm map ~*, для которых нет pas-файлов)! Если в качестве первого параметра задать одиночный дефис (-), расширения dcu dcuil drc dsm map ~* не удаляются (можно оставить один дефис, а можно после него задать параметры для компилятора или файл(ы)). В общем, юзайте, кому надо p.s. Если есть другие идеи по поводу расширений (может, что-то не стоит удалять или наоборот добавить), пишите. Ну или ещё по каким-то вопросам...
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
Последний раз редактировалось 7in; 11.10.2017 в 08:48. Причина: добавил инфу про параметр-дефис |
11.10.2017, 02:45 | #2 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,869
|
"Вызывает антирес
Ваш технический прогресс: Как у вас там сеют брюкву — С кожурою али без?.." (с) Л. Филатов. Вот мне лично непонятно нафига нужно иметь возможность компилировать проект в разных версиях Дельфи в командной строке. |
11.10.2017, 08:46 | #3 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Не всегда есть смысл пользоваться самой последней версией Delphi (которая делает exe-шник с пустой формой аж на 2 мега). Часто достаточно 7-и, есть 2005-2007 (которые имеют много новых фич в сравнении с 7-кой).
Ещё примеры: • делается модуль (unit) под версии 6+/7+, нужно проверить - все ли компиляторы его корректно скомпилят. • скачал проект (или тот же модуль) под какую-то версию, нужно скомпилить определённой версией (Tokyo и все прочие XE2+ не переварят имена uses-модулей в старом формате + юникод + прочие отличия). • хочу проверить - какая версия Delphi поддерживает нужную мне директиву. И т.д. Лично я пользуюсь этим активно. И выложил для тех, кому это тоже будет нужно.
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
Последний раз редактировалось 7in; 11.10.2017 в 08:50. |
11.10.2017, 10:29 | #4 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Цитата:
Production версия ПО всегда компилируется в релиз, а он имеет размер гораздо скромнее. Если же и этого недостаточно, можно изменить конфигурацию сборки (по умолчанию к exe прикомпилируется много компонентов, которые в конечном итоге могут оказаться не нужными). А, вообще автору респект за то, что по сути задокументировал эту особенность работы Delphi компилятора и подготовил целый набор батников для её использования. |
|
11.10.2017, 15:36 | #5 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
2 мега - это Release версия, а Debug занимает 11 в Tokyo
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
11.10.2017, 17:23 | #6 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Даже если так, то сути это не меняет. Повторюсь, всегда можно исключить из сборки лишние компоненты.
Кроме того, для современных ПК даже десятки Мб это размер ни о чём. Тем более очень редко когда всю логику программы помещают в exe. |
16.10.2017, 14:10 | #7 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Новая версия батнка (dccAll пока ещё отдельно)!
Пофиксены баги (и надеюсь, не наделано новых :D), добавлены фичи. Код:
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
Последний раз редактировалось 7in; 17.10.2017 в 09:06. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа borland delphi 7 несовместима с данной версией windows | palpetrovich | Общие вопросы Delphi | 13 | 15.02.2016 13:41 |
батники на acmp.ru | kostan3 | Общие вопросы C/C++ | 26 | 28.03.2014 12:59 |
Pascal при компиляции любой программы выдаёт ошибку : | Poltish | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 09.04.2013 18:51 |
жестокие батники | Артем_Назаренко | Помощь студентам | 0 | 17.12.2009 17:29 |