Lazarus x32 и x64 как установить?
Модератор: Модераторы
- BadBoyAlex
- постоялец
- Сообщения: 119
- Зарегистрирован: 08.06.2010 12:42:23
- Откуда: Россия, Белгород
- Контактная информация:
Lazarus x32 и x64 как установить?
Нужно сделать так, чтобы на одном компьютере, на одной системе можно было собирать как для Win32, так и для Win64 (главная - Win64). Как это сделать?
Попробуйте посмотреть в сторону CodeTyphon
сам илчно не собирал под Win64
Сижу на LM 13 х64, собирал под Lin64, Lin32, Win32 простым переключением в параметрах проекта
особых знаний при этом не требуется
сам илчно не собирал под Win64
Сижу на LM 13 х64, собирал под Lin64, Lin32, Win32 простым переключением в параметрах проекта
особых знаний при этом не требуется
- BadBoyAlex
- постоялец
- Сообщения: 119
- Зарегистрирован: 08.06.2010 12:42:23
- Откуда: Россия, Белгород
- Контактная информация:
xcod писал(а):Попробуйте посмотреть в сторону CodeTyphon
сам илчно не собирал под Win64
Сижу на LM 13 х64, собирал под Lin64, Lin32, Win32 простым переключением в параметрах проекта
особых знаний при этом не требуется
Проблема в том, что у меня есть сторонние компоненты.
BadBoyAlex писал(а):Проблема в том, что у меня есть сторонние компоненты.
ну и установите их в лазарь
и попробуйте собрать
BadBoyAlex писал(а):Нужно сделать так, чтобы на одном компьютере, на одной системе можно было собирать как для Win32, так и для Win64 (главная - Win64). Как это сделать?
Самый рациональный и наиболее логичный способ: ваша система должна быть 64-битной, и на нее надо установить по экземпляру fpc/lazarus для 32-x и 64-x битного режима. Что собственно и делает рекомендованный выше CodeTyphon. Однако, у этого клона лазаруса есть несколько нехороших тенденций и особенностей:
- Он базируется исключительно на тестовых версиях компилятора и лазаруса с навешанными поверх патчами, не все из которых полезны. Я бы сказал, основной задачей тех, кто им занимается, является сбор в кучу всего любой ценой. Посему релизы CodeTyphon порою отмечены прямо таки epic fails случаями - когда были полностью или частично неработоспособны различные его части - от отдельных компонент до IDE в целом.
- Начиная с "поколения 4" сильно изменена структура каталогов по отношению к оригинальному лазарусу, их переименовали, переименовали и исходники IDE; в частности это привело к тому, что взять из CodeTyphon пакет и поместить его в нормальный лазарус - теперь не получается. Раньше (на уровне "поколения 2"), прокатывало.
- Начиная с версии 2.90 Codetyphon под Windows XP не работает. Они там считают, что XP Mode или XP под виртуальщиной есть полноценная замена XP...
- ВСЕ пакеты CodeTyphon переименованы, многие отпатчены. Среди набора пакетов встречается полуработоспособный и неработоспособный мусор, типа например html-браузера, который неспособен показывать русские буквы
Однако, ценно следующее: у CodeTyphon скриптовый инсталлятор. Если задаться целью понять, как из исходников собирается вручную компилятор и лазарус, как 64х, так и 32х - это там есть где посмотреть. Несмотря на вульгарный подход к тому, как это реализовано.
А вообще тенденции таковы, что "наши греческие друзья" похоже стараются отделиться от основной ветки как можно дальше, при этом почему то вспоминается BolgenOS и Архиватор Попова.
Я как раз использую Lazarus в таком режиме. Девелоплю на win64 и компилю дополнительно под win32.
Сколько не спрашивал, никто не мог ничего подсказать, как Lazarus настроить в таком режиме. Советы были как и в этом треде.
Ссылка на Cross_compiling - это вообще классика...
А всё делается довольно просто. Делаю по этой инструкции (с небольшими изменениями): http://lindeberg1987.blogspot.ru/2012/05/lazarus-win64-to-win32.html.
единственно, что не указано, что ещё несколько скомпилированных объектов надо скопировать из папки components и, вроде, ide. Например таким образом нужно скопировать внутренние редакторы полей для компонентов БД. Сами они не используются (так как IDE у нас 64 битная), но они жёстко прописаны в зависимостях компонентов доступа к БД. Короче проще всего сделать поиск по имени папки "x86_64-win64" и во все эти места рядом подложить "i386-win32" из соответствующих мест 32-битного дистрибутива.
Ну и надо помнить, что дебажить 32 битный код из 64 битной IDE не получится. Т.е. процесс такой - дебажишь проект в 64 битах, а когда все отработано компилируешь 32 битный релиз.
и конечно очень удобно настроить выбор платформы через http://wiki.freepascal.org/IDE_Window:_ ... uild_modes
как я делаю:
1. захожу на вкладку "Режимы сборки" окна опций проекта. там один режим - Default и на нем стоит галка "Активен", я переименовываю ее в "Debug win64";
2. Добавляю новый режим (жму "+"), называю его "Release win32", ставлю галку "Активен" на него - это важно, теперь все изменения в опциях будут действовать на этот режим. Иду в опции компилятора "Генерация кода" - ставлю платформу win32 в списке "Операционная система", процессор i386 в списке "Семейство процессоров", "Целевой процессор" не вбираю. Также по желанию здесь и в опциях линковщика можно по отключать генерации debug info, т.к. под 32 бита мы дебажить не собираемся. Теперь на основной панели у нас появится кнопка быстрого выбора режима компиляции. Выбираешь соответствующий режим, жмешь "компилировать" и вуаля!
3. последний штрих в опцию "Имя исполняемого файла (-о)" вкладки настроек "Пути" добавлю к имение файла -$(TargetOS), т.е. получается что-то типа ProjName-$(TargetOS). Т.е. при компиляции в разных режимах в каталог проекта будут класться файлы ProjName-win32.exe и ProjName-win64.exe - очень удобно.
Сколько не спрашивал, никто не мог ничего подсказать, как Lazarus настроить в таком режиме. Советы были как и в этом треде.
Ссылка на Cross_compiling - это вообще классика...
А всё делается довольно просто. Делаю по этой инструкции (с небольшими изменениями): http://lindeberg1987.blogspot.ru/2012/05/lazarus-win64-to-win32.html.
единственно, что не указано, что ещё несколько скомпилированных объектов надо скопировать из папки components и, вроде, ide. Например таким образом нужно скопировать внутренние редакторы полей для компонентов БД. Сами они не используются (так как IDE у нас 64 битная), но они жёстко прописаны в зависимостях компонентов доступа к БД. Короче проще всего сделать поиск по имени папки "x86_64-win64" и во все эти места рядом подложить "i386-win32" из соответствующих мест 32-битного дистрибутива.
Ну и надо помнить, что дебажить 32 битный код из 64 битной IDE не получится. Т.е. процесс такой - дебажишь проект в 64 битах, а когда все отработано компилируешь 32 битный релиз.
и конечно очень удобно настроить выбор платформы через http://wiki.freepascal.org/IDE_Window:_ ... uild_modes
как я делаю:
1. захожу на вкладку "Режимы сборки" окна опций проекта. там один режим - Default и на нем стоит галка "Активен", я переименовываю ее в "Debug win64";
2. Добавляю новый режим (жму "+"), называю его "Release win32", ставлю галку "Активен" на него - это важно, теперь все изменения в опциях будут действовать на этот режим. Иду в опции компилятора "Генерация кода" - ставлю платформу win32 в списке "Операционная система", процессор i386 в списке "Семейство процессоров", "Целевой процессор" не вбираю. Также по желанию здесь и в опциях линковщика можно по отключать генерации debug info, т.к. под 32 бита мы дебажить не собираемся. Теперь на основной панели у нас появится кнопка быстрого выбора режима компиляции. Выбираешь соответствующий режим, жмешь "компилировать" и вуаля!
3. последний штрих в опцию "Имя исполняемого файла (-о)" вкладки настроек "Пути" добавлю к имение файла -$(TargetOS), т.е. получается что-то типа ProjName-$(TargetOS). Т.е. при компиляции в разных режимах в каталог проекта будут класться файлы ProjName-win32.exe и ProjName-win64.exe - очень удобно.
- BadBoyAlex
- постоялец
- Сообщения: 119
- Зарегистрирован: 08.06.2010 12:42:23
- Откуда: Россия, Белгород
- Контактная информация:
Kitayets, спасибо! Помогло!
