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

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

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

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

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

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

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

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

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

7
quwy
Native x86
3338 / 2184 / 650
Регистрация: 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
3338 / 2184 / 650
Регистрация: 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
3338 / 2184 / 650
Регистрация: 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) и попробовал написать...


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

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

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