Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Algoritmer
155 / 95 / 24
Регистрация: 07.03.2013
Сообщений: 490
Записей в блоге: 1
#1

Собрать исполняемый файл под ubuntu 64bit в 32 битной системе - Lazarus

29.09.2014, 11:20. Просмотров 1197. Ответов 7
Метки нет (Все метки)

Подскажите, возможно ли собрать исполняемый файл под ubuntu 64 бит в lazarus в ubuntu 32 бит? И как это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2014, 11:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Собрать исполняемый файл под ubuntu 64bit в 32 битной системе (Lazarus):

Создание 64-битной программы на 32-битной системе: возможно ли?
Здравствуйте. Я хотела бы разрабатывать 64-битные приложение в Delphi XE, но у...

Исполняемый файл на Linux
Всем привет! Я в этом деле полный профан, т.к. никогда не работал в Lazarus...

Исполняемый файл не запускается дважды
Проблема следующая. В определенный момент обратил внимание, что приложение...

Куда создается исполняемый файл?
Подскажите как можно созданный исполняемый файл разместить в папке отличной от...

Исполняемый jar файл, ubuntu
Добрый вечер, пытаюсь создать исполняемый jar файл, все делал следую инструкции...

Каким компилятором лучше собрать исполняемый файл, минимальный по весу?
на каком компиляторе лучше собрать исполняемый файл, минимальный по весу?...

7
quwy
Native x86
3333 / 2180 / 649
Регистрация: 13.02.2013
Сообщений: 7,239
30.09.2014, 12:54 #2
Algoritmer, возможно, но нужно повозиться. Для начала ознакомиться с этим документом, затем собрать компилятор под нужный таргет, затем подключить его к лазарусу, затем пересобрать RTL этим компилятором, и только потом можно будет компилировать свой код под этот таргет. Оно вам точно нужно?
1
Daneels
3 / 3 / 6
Регистрация: 16.12.2013
Сообщений: 44
30.09.2014, 18:54 #3
Это впринципе легко. Качаете исходнике FPC компилируете под i386(тут главное скомпилировать в нужные папки). Затем создаете сумлинк на сам компилятор в /usr/bin(или др. папкой, где fpc). Выбираете в лазарусе цель i386 и готово.
Я так под андроид когда-то пытался. Но там сложнее. Дошел до черного экрана в приложении
1
Algoritmer
155 / 95 / 24
Регистрация: 07.03.2013
Сообщений: 490
Записей в блоге: 1
16.10.2014, 17:15  [ТС] #4
quwy, со справкой, на которую Вы сослались я ознакомился. Но там говорится больше о том, как на linux собрать проект под windows.
Вы могли бы более подробно расписать каким образом:
1) собрать компилятор под ubuntu 14, 64 bit
2) подключить его к лазарусу
3) пересобрать RTL этим компилятором

P. S. Оно мне точно нужно
0
quwy
Native x86
3333 / 2180 / 649
Регистрация: 13.02.2013
Сообщений: 7,239
16.10.2014, 17:21 #5
Цитата Сообщение от Algoritmer Посмотреть сообщение
собрать компилятор под ubuntu 14, 64 bit
Я это делал давно, деталей не помню уже. Сходите на форум лазаруса, там подскажут.

Цитата Сообщение от Algoritmer Посмотреть сообщение
подключить его к лазарусу
Указать в настройках лазаруса пути к исполняемому файлу кросс-компилятора, а в свойствах проекта указать соответствующий таргет.

Цитата Сообщение от Algoritmer Посмотреть сообщение
пересобрать RTL этим компилятором
В меню лазаруса есть пункт "Build" или как-то так. Там можно выбрать что собирать (RTL, IDE, RTL+IDE), указать таргет, и запустить сборку.
1
Algoritmer
155 / 95 / 24
Регистрация: 07.03.2013
Сообщений: 490
Записей в блоге: 1
17.10.2014, 12:45  [ТС] #6
Цитата Сообщение от quwy Посмотреть сообщение
Сходите на форум лазаруса, там подскажут.
Задал вопрос там. Но что-то не особо на него реагируют. Тут обсуждение по-живее
0
quwy
Native x86
3333 / 2180 / 649
Регистрация: 13.02.2013
Сообщений: 7,239
17.10.2014, 14:16 #7
Только что ради интересе собрал x86_64 из-под x86, но все делал под Windows (под линуксом работать не могу в принципе).

Сборочная конфигурация:
Windows x86 (32 bit)
FPC/i386 установрен в C:\FPC\2.6.4

Вот что делал:
1. Скачал исходники fpcbuild-2.6.4 из http://sourceforge.net/projects/freepascal/files/Source/2.6.4
2. Распаковал их в D:\TEMP\fpc
3. Добавил в PATH путь к бинарникам FPC: set PATH=C:\FPC\2.6.4\bin\i386-win32;%PATH%
4. Для Windows в fpcbuild включены бинарники сборочных утилит, поэтому включаю и их: set PATH=D:\TEMP\fpc\fpcbuild-2.6.4\install\binw32;%PATH%
5. Захожу в D:\TEMP\fpc\fpcbuild-2.6.4
6. Запускаю fpcmake -Tx86_64-win64 -v
7. Запускаю make.exe crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 NOGDB=1
8. После успешной компиляции обнаруживаю бинарник D:\TEMP\fpc\fpcbuild-2.6.4\fpcsrc\compiler\ppcrossx64.exe

Для линукса будет несколько отличий. Во-первых, добавлять путь к FPC в PATH скорее всего не нужно (п. 3 долой). Во-вторых, в fpcbuild бинарники сборочных утилит не входят и их нужно устанавливать средствами Linux (вместо п. 4 нужно установить или собрать из исходников binutils под целевую платформу компиляции, т.е. под x86_64). В-третих, во всех командах вместо "win64" указываем "linux". Ну и в-последних, имя результирующего исполняемого файла будет соответственно иным.

Полученный бинарник прописывается в настройки лазаруса в поле Compiler path вместо дефолтного fpc.
0
Daneels
3 / 3 / 6
Регистрация: 16.12.2013
Сообщений: 44
17.10.2014, 20:42 #8
Сам долго с этим делом мучался, из-за устаревших статей, надеюсь вы разберетесь:
1)заходите в fpcsrc
2)Компилируете и устанавливаете fpc
Bash
1
2
make all CPU_TARGET=x86_64
sudo make crossinstall CPU_TARGET=x86_64 PREFIX=/usr
3)Добавляем ссылочку на компилятор в /usr/bin
Bash
1
sudo ln -s /usr/bin/ppcx64 на /usr/lib/fpc/[ver.]/ppccrossx64
3)В настоящих версиях, пересобирать RTL вручную не требуется. FPC.cfg подефолту тоже проходит. Такчто всё
4)В настройках проекта выбираете нужную архитектуру.

Добавлено через 18 минут
С более-менее современными версиями этот процесс стал куда более автоматизированный, особенно для Linux. Боьшинство пунктов от quwy в linux при fpc 2.6 выполнять не надо.
0
17.10.2014, 20:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2014, 20:42
Привет! Вот еще темы с решениями:

Запуск 32-битной программы на 64-битной системе
Подскажите создал простую программу Console.WriteLine("Олололо");...

Программирование на Си в 64 битной системе
Я недавно установил 64 битную семерку (раньше была хр 32) и попробовал написать...

Оперативная память на 32-битной системе
Извините, не знаю, может быть есть уже подобная тема. Искал честно, и не нашел....

32 битная служба в 64 битной системе
Доброго времени суток. Возможно ли и всегда ли можно установить (запустить) 32...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru