Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Ofront и OfrontPlus на Линуксе https://zx.oberon.org/forum/viewtopic.php?f=41&t=279 |
Страница 1 из 1 |
Автор: | kekc_leader [ 24 май 2016, 23:18 ] |
Заголовок сообщения: | Ofront и OfrontPlus на Линуксе |
Я разбираюсь с Ofront, пытаюсь собрать консольный транслятор-компилятор для Линукса и для Виндоуса и решил написать об этом на форум. Что я сделал: 1) Зашёл на software-templ.com и скачал бинарную версию Ofront для Линукса. 2) Прочёл, что исходный код линуксовской версии Ofront'а находится на Google code. Долго копался на этом сайте (кажется, проект Google Code закрыт?) и наконец-то на этой странице посередине нашёл кнопку Download, скачал исходники. 3) Зашёл в терминале в каталог «ofront/V4_ofront/linux386» и запустил команду «make», которая вылетела с ошибкой. Оказалось, что для того, чтобы собрать из исходников исполняемый файл, необходимо уже иметь исполняемый файл «ofront», поэтому я взял его из архива, скачанного на пункте №1. В архивах находится как компилятор (траслятор), так и система Oberon V4, запускающаяся в линуксовском окне через «X», но нас пока интересует только компилятор. 4) Отредактировал 15-ю строчку в файле «ofront/V4_ofront/linux386/makefile»: Код: "OBERON"
Снова запустил «make», на этот раз всё сработало. Помимо компилятора и нескольких исполняемых файлов, появилась ещё и библиотека OberonV4 в двух видах: libOberonV4.a (статическая) и libOberonV4.so (динамическая). Проверил «make install» - ничего не происходит, такой секции в makefil'е нет. 5) Пришло время проверить получившийся компилятор. Отдельно от всего этого создал отдельный каталог, в нём создал «MyMod.Mod»: Код: "OBERON"
6) После долгих разбирательств подобрал вот такой вот bash-скрипт: Код: "OBERON"
Код: "OBERON"
Код: "OBERON"
Код: "OBERON"
Код: "OBERON"
7) Но появившийся исполняемый файл «MyMod» не работает: Код: "OBERON"
Код: "OBERON"
8) А ещё можно не компоновать программу статически, а вместо этого сделать так, чтобы она успешно находила этот «libOberonV4.so». Тут есть три варианта: 8.1) Запускаем программу не по-обыкновенному, а вот так: Код: "OBERON"
Код: "OBERON"
8.3) Копируем файл «libOberonV4.so» в каталог «/usr/lib» и запускаем программу по-обыкновенному. |
Автор: | Zorko [ 25 май 2016, 21:30 ] | ||
Заголовок сообщения: | Re: Ofront и OfrontPlus на Линуксе | ||
Йозеф Темпл перенёс разработку Ofront на GitHub, здесь исходники должны быть посвежее: • https://github.com/jtempl/ofront/ Я не настолько хорошо знаю Linux как ты, Артур. И до разработки серьёзных программ на Ofront'е под Linux у меня руки не дошли. Для вывода использовал свою библиотеку LinDev.a, которую (давно!) собирал для Linux: • https://github.com/Oleg-N-Cher/XDev/tree/master/LinDev/Lib Можно собрать свою статическую библиотечку, чтобы не зависеть от libOberonV4. 639 килобайт это много. Должны помочь ключики -ffunction-sections -fdata-sections при компиляции библиотеки и -Wl,--gc-sections при линковке исполняемого файла, но в Linux'е я это не пробовал. MinGW же линкует не весь код, а только необходимые функции. P.S. Добавил в реп пример Hello для Windows, собирается запуском Work/Build.bat
|
Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |