Оптимизация компиляции Lazarus
Скорее всего, вы уже давно обратили внимание на то, что получаемые после компиляции выходные исполняемые файлы занимают на диске около 15 Мб, даже если вы создаете пустой проект.
Основная причина «объемности» получаемого файла. exe в наличии отладочной информации. Отключение отладочной информации приводит к более быстрой компиляции и уменьшению размера.
Для того, чтобы сделать это, нужно выполнить следующее (актуально для версии Lazarus 1. 4. 4): заходим в меню Проект – Параметры проекта, далее Параметры компилятора – Отладка. Убираем галочку с пункта «Генерировать отладочную информацию» .
Если вы хотите сохранить отладочную информацию, будет разумным вынести её в отдельный файл. Для этого нужно поставить галочку напротив пункта «Использовать внешний файл отладочных символов»
В этом же окне ставим галочку в пункте «Вырезать символы из исполнимого файла (-Xs)»
Также рекомендуется выполнить следующее: в том же окне «Параметры проекта» заходим в Параметры компилятора – Компиляция и компоновка, ставим галочки напротив пунктов «Умная компоновка (-CX)» и «Умная компоновка ( -XX)»
Для того, чтобы не вносить и не применять эти настройки каждый раз во время создания нового проекта можно в том же окне «Параметры проекта» поставить галочку внизу напротив отдельного пункта «Использовать как параметры по умолчанию» .
Все эти манипуляции убавят размер выходного exe-файла с ~15 МБ до 3 Мб (сравнение при компиляции пустого проекта). Далее рассмотрим уменьшение “exe-шника” сторонними средствами, так как на этом возможности IDE Lazarus заканчиваются.
UPX – утилита для сжатия любых exeфайлов. Чтобы её использовать, нужно производить запуск в командной строке с переданным через пробел именем сжимаемого файла. exe.
Или другой способ: 1) Размещаем утилиту UPX и нужный “exe-шник” в одной папке 2) Создаем в той же папке ярлык для запуска UPX 3) Меняем свойства ярлыка: вкладка «Ярлык» и в строке через пробел добавляем имя (вместе с расширением) сжимаемого файла. 4) Нажимаем кнопку «OK»
Например, скриншот измененного ярлыка для сжатия файла «project 1. exe»