Lazarus x64

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
ronin
постоялец
Сообщения: 174
Зарегистрирован: 26.01.2010 23:14:46

Lazarus x64

Сообщение ronin »

Поставил вчера 64 битную xubuntu, вопрос - если я возьму из svn fpc и lazarus они автоматом при сборке будут 64 битные? или надо при сборке указать параметры какие?

Извините за некомпетентность в данном вопросе, до этого пользовался 32 битной версией системы, а по теме материала не нашёл, в вики всё очень кратко, не понятно, подскажите пожалуйста. Интересует какие вообще параметры компиляции лазаря и компилятора есть, и как собрать версию для сборки 64 и 32 битных приложений.

Заранее спасибо
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

В OpenSUSE на x86_64 системе по умолчанию собираются х86_64 приложения. Предположу, что на xubuntu та же история. Для сборки x86_32 приложения потребуется совершить несколько манипуляций - http://wiki.lazarus.freepascal.org/Cros ... g#To_Linux На fpc 2.6.0 всё прошло без каких-либо проблем (наконец-то ^_^)
ronin
постоялец
Сообщения: 174
Зарегистрирован: 26.01.2010 23:14:46

Сообщение ronin »

спасибо сегодня попробую

Добавлено спустя 16 часов 33 минуты 47 секунд:
может немного оффтоп но при сборке fpc взятой из svn выдаёт такую ошибку:

make[4]: Выход из каталога `/home/ronin/fpc/rtl/linux'
make[3]: Выход из каталога `/home/ronin/fpc/rtl/linux'
make[2]: Выход из каталога `/home/ronin/fpc/rtl'
make[1]: Выход из каталога `/home/ronin/fpc'
make packages_smart FPC=/home/ronin/fpc/compiler/ppcx64 RELEASE=1
make[1]: Вход в каталог `/home/ronin/fpc'
make -C packages smart
make[2]: Вход в каталог `/home/ronin/fpc/packages'
make -C fpmkunit bootstrap
make[3]: Вход в каталог `/home/ronin/fpc/packages/fpmkunit'
/bin/mkdir -p units_bs/x86_64-linux
src/fpmkunit.pp -FUunits_bs/x86_64-linux -Fu../paszlib/src -Fu../hash/src -Fi../paszlib/src -Fi../fcl-process/src/unix -Fu../fcl-process/src -Fi../fcl-process/src/linux -Fi../fcl-process/src/dummy
make[3]: execvp: src/fpmkunit.pp: Отказано в доступе
make[3]: *** [bootstrap] Ошибка 127
make[3]: Выход из каталога `/home/ronin/fpc/packages/fpmkunit'
make[2]: *** [fpmkunit_bootstrap] Ошибка 2
make[2]: Выход из каталога `/home/ronin/fpc/packages'
make[1]: *** [packages_smart] Ошибка 2
make[1]: Выход из каталога `/home/ronin/fpc'
make: *** [build-stamp.x86_64-linux] Ошибка 2


p.s. сборка под xubuntu x64, установлен из репов fpc 2.4.4, всё по дефолту

Добавлено спустя 1 час 11 минут 36 секунд:
может ткнёте носом где искать решение проблемы, сам не могу разобраться

Добавлено спустя 9 часов 50 минут 50 секунд:
магия какая то, скачал fpc заново с svn всё собралось нормально... о_О
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

Бывает, что в свн кривые файлы заливаются. Потом фиксят и после обновления с свн все нормально.
ronin
постоялец
Сообщения: 174
Зарегистрирован: 26.01.2010 23:14:46

Сообщение ronin »

ещё такой вопрос - как определить разрядность программы? чтобы например вывести текст что это 64 битная версия программы не прописывая это вручную каждый раз?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Код: Выделить всё

{$ifdef CPU32}
Caption:='32';
{$else}
caption:='64';
{$endif}
ronin
постоялец
Сообщения: 174
Зарегистрирован: 26.01.2010 23:14:46

Сообщение ronin »

и ещё такой момент в Генерация кода->Целевое семейство процессоров указал i386, проект собрался но под 32 разрядной ubuntu не запускается, как собрать под 32 разрядную систему проект?

Добавлено спустя 25 минут 37 секунд:
сделал всё по указанной выше инструкции http://wiki.lazarus.freepascal.org/Cross_compiling#To_Linux а как быть дальше непонятно, там написано That's it. Edit your /etc/fpc.cfg file if needed. а что там правит не понял, посмотрел ppc386 появился а что делать дальше?
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

там нужно указать пути до скомпиленных юнитов для x86_64 и x86_32 платформ. У меня, например, при сборке fpc из исходников и без install'a (чтобы fpc был в домашнем каталоге) в fpc.cfg потребовалось занести следующие пути:
-Fu/home/Brainenjii/fpc/2.6.0rc1/rtl/units/$fpctarget/
-Fu/home/Brainenjii/fpc/2.6.0rc1/packages/*/units/$fpctarget/
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>ещё такой вопрос - как определить разрядность программы?

Код: Выделить всё

caption:={$I %FPCTARGETCPU%};
caption:={$I %FPCTARGETOS%};
Ответить