а хотелось бы
Кросс из Линукса в Вин
Модератор: Модераторы
- Alexander
- энтузиаст
- Сообщения: 888
- Зарегистрирован: 18.12.2005 18:10:00
- Откуда: оттуда
- Контактная информация:
Всё, запустил.
РАБОТАЕТ !
Внасчале сделал make OS_TARGET=win32 CPU_TARGET=i386 build в
fpcsrc (которая в поддиректории fpcbuild_2.0.4_exp !). Всё собралось.
Затем последовательно зашёл в rtl, fcl, packages, fv и сделал ТАМ
make OS_TARGET=win32 CPU_TARGET=i386 install
Все библиотеки легли куда нужно. Таргет win32 заработал,
но при линковке отвалился с руганью на отсутствие as.
Почитал ман ФПК и решил вопрос. Оказывается нужно дать префикс
для кроссового binutils (as, ld ...).
Тот, который просил ФПК при кроссе и который я соответственно
задал в симлинках.
В итоге кросс: fpc -Twin32 -XPi386-win32- testcross.pas
Затем захотелось большего и я решил собрать тестовый проект MSE.
Получилось !
fpc -Twin32 -XPi386-win32- -Fu/root/MyDownloads/msei/msegui/lib/common/kernel/i386-win32/ testprog.pas
Спасибо всем откликнувшимся !
Кажется мы освоили кросс в обе стороны.
РАБОТАЕТ !
Внасчале сделал make OS_TARGET=win32 CPU_TARGET=i386 build в
fpcsrc (которая в поддиректории fpcbuild_2.0.4_exp !). Всё собралось.
Затем последовательно зашёл в rtl, fcl, packages, fv и сделал ТАМ
make OS_TARGET=win32 CPU_TARGET=i386 install
Все библиотеки легли куда нужно. Таргет win32 заработал,
но при линковке отвалился с руганью на отсутствие as.
Почитал ман ФПК и решил вопрос. Оказывается нужно дать префикс
для кроссового binutils (as, ld ...).
Тот, который просил ФПК при кроссе и который я соответственно
задал в симлинках.
В итоге кросс: fpc -Twin32 -XPi386-win32- testcross.pas
Затем захотелось большего и я решил собрать тестовый проект MSE.
Получилось !
fpc -Twin32 -XPi386-win32- -Fu/root/MyDownloads/msei/msegui/lib/common/kernel/i386-win32/ testprog.pas
Спасибо всем откликнувшимся !
Кажется мы освоили кросс в обе стороны.
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
Что-то не нашел скомпилированной версии binutils для кросса Lin2Win
Может кто-нибудь выложит (ld, as)?..
Я собрал бы из исходников, но в моем дистрибутиве нет gcc
, обновлюсь не скоро...
Вот обновленная статья, оценивайте:
http://zolotov.h14.ru/fpc_cross.pdf
Может кто-нибудь выложит (ld, as)?..
Я собрал бы из исходников, но в моем дистрибутиве нет gcc
Вот обновленная статья, оценивайте:
http://zolotov.h14.ru/fpc_cross.pdf
- Alexander
- энтузиаст
- Сообщения: 888
- Зарегистрирован: 18.12.2005 18:10:00
- Откуда: оттуда
- Контактная информация:
Выложил у себя на сайте, когда заберёшь, отпишись, я его удалю.
Не знаю всё ли там, что нужно, но это то что я увидел нового после
binutils make install.
Лежит эта директория прямо в /usr/ то есть
/usr/i386-mingw32/ симлинки сделал просто в /bin/
(да простят меня юникс- гуру, спешил я)
такие: i386-win32-ar, i386-win32-as...
Намного правильней сделать их в /usr/bin/
http://www.aralni.narod.ru/i386-mingw32.tar.bz2
Раскрой его в директории /usr/ командой
Это неправильный дистрибутив. Линукс без gcc - импатент.
При всей моей нелюбви к языку Си.
Не знаю всё ли там, что нужно, но это то что я увидел нового после
binutils make install.
Лежит эта директория прямо в /usr/ то есть
/usr/i386-mingw32/ симлинки сделал просто в /bin/
(да простят меня юникс- гуру, спешил я)
такие: i386-win32-ar, i386-win32-as...
Намного правильней сделать их в /usr/bin/
http://www.aralni.narod.ru/i386-mingw32.tar.bz2
Раскрой его в директории /usr/ командой
Код: Выделить всё
tar -xvjf i386-mingw32.tar.bz2shade писал(а):нет gcc
Это неправильный дистрибутив. Линукс без gcc - импатент.
При всей моей нелюбви к языку Си.
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
Alexander писал(а):Это неправильный дистрибутив. Линукс без gcc - импатент.
При всей моей нелюбви к языку Си.
Согласен, просто у меня всего один из трех дисков, gcc на втором, а второй диск оказался бракованный. Сейчас поставил ubuntu, а на нем откопал gcc, не понятно из каких соображений он не ставиться по умолчанию. Пытался скомпилировать, но не понял какую цель нужно указать, пробовал win32, i386-win32, mingw, надо было еще попробовать mingw32, сейчас перезагружусь (lin в интернет коннектиться не хочет
За ссылку спасибо, скачал, можно удалять...
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
- Alexander
- энтузиаст
- Сообщения: 888
- Зарегистрирован: 18.12.2005 18:10:00
- Откуда: оттуда
- Контактная информация:
Не, у меня не заработал без бинутилс.
А жаль, ведь действительно есть такая опция компилятора.
Попробуй переименовать папку. По идее должен заткнуться. И просить as.
А вот то что заработало - хорошо,
значит достаточно содержимого этой папки. ~1.5mb
Точно надо было. А потом (в случае успешной компиляции)
просто make install.
Шикарно !
А жаль, ведь действительно есть такая опция компилятора.
Попробуй переименовать папку. По идее должен заткнуться. И просить as.
А вот то что заработало - хорошо,
значит достаточно содержимого этой папки. ~1.5mb
shade писал(а):надо было еще попробовать mingw32
Точно надо было. А потом (в случае успешной компиляции)
просто make install.
shade писал(а):Вот обновленная статья, оценивайте:
Шикарно !
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
- Alexander
- энтузиаст
- Сообщения: 888
- Зарегистрирован: 18.12.2005 18:10:00
- Откуда: оттуда
- Контактная информация:
Не стал пока удалять бинутилс (может кому пригодятся).
Переложил сюда:
http://www.aralni.narod.ru/prog/mse/i38 ... 32.tar.bz2
Переложил сюда:
http://www.aralni.narod.ru/prog/mse/i38 ... 32.tar.bz2
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
Alexander писал(а):Я правильно понял что для 2.1.1 этот бинутилс вообще не нужен ?
Все зависит от платформы под которую будешь компилировать. Например, для freebsd, linux binutils нужен, для win32 не нужен.
Alexander писал(а):Кстати strip нормально работает обычный, не кроссовый,
с РЕ файлами справляется. UPX тоже.
Относительно strip вы не правы, просто при кросс-компиляции он (strip) не вызывается (вместо него используется опция FPC -Xs, которая переадресуется компоновщику который сам знает как делать strip).
