На самом деле - "ни всё коту масленница"
dv писал(а):
2. - Очень большой размер формируемого файла *.dll (cfplug)!!! Просто не детский - простой шаблон = 10-13 мб.
может так - отключи - build with debug info
Вообще то, я спец сделал упор на размере, чтобы те кто пользуются Lazarus не забывали об этом.
В отличие от Delphi, использующей собственный отладчик, Lazarus использует для отладки внешнюю программу gdb (GNU Debugger) и вынужден включать в компилируемые исполнимые файлы информацию, помогающую этому отладчику в работе. Объём такой информации может в несколько раз превышать объём кода (раз 8-10).
Уменьшить размер исполнимых файлов, получаемых с помощью Lazarus, можно двумя путями.
Во-первых, можно воспользоваться консольной утилитой strip, чтобы удалить отладочную информацию из уже собранных исполняемых файлов. В Win-версии Lazarus эта утилита находится в каталоге c:\lazarus\fpc\2.4.2\bin\i386-win32\strip.exe (версия FPC у васа может отличаться). Для удобства использования strip вы может создать bat-файл, включи в него вызов команды strip, которой в качестве первого параметра командной строки передан ключ --strip-all, а в качестве второго – имя вашего исполнимого файла:
1) strip --strip-all <имя исполнимого файла>
Второй способ позволяет исключать отладочную информацию уже на этапе компиляции проекта. Нужный эффект достигается включением всего-лишь одной опции в параметрах проекта:
2) Вкладка Компоновка: установить флажок "Использовать Внешний файл отладочных Символов GDB"(-Xg)
по мимо этого можно включить:
- Вкладка Генерация кода: установить флажок "Умная Компоновка" (-СХ)
- Вкладка Компоновка: установить флажок "Умная Компоновка" (-ХХ)
- Вкладка Компоновка: установить флажок "Вырезать Символы из Исполняемого файла"(-Xs)
Ну и наконец, на закусь, можно использовать upx (который идет в комплекте):
вкладка компиляция, пункт "выполнить после компиляции" вписываем следующую строку: $(LazarusDir)\fpc\$(FPCVer)\bin\i386-win32\upx.exe -9 $(TargetCmdLine)