|
364 / 218 / 53
Регистрация: 18.10.2017
Сообщений: 2,350
|
|
Как делается кросс-платформенная разработка в Linux?22.12.2024, 21:46. Показов 6490. Ответов 10
Метки нет (Все метки)
Здравствуйте!
Когда-то давно я это делал в Debian на уже настроенной другим человеком системе, а как к этому приступить с нуля, например, для процессоров ARM? Какой при этом используется компилятор, надо ли скачивать newlib откуда-то с redhat.com или сейчас это как-то иначе? Есть какая-нибудь инструкция для организации процесса?
0
|
|
| 22.12.2024, 21:46 | |
|
Ответы с готовыми решениями:
10
Кросс-платформенная разработка на Xamarin Марк Прайс, C# 10 и .NET 6. Современная кросс-платформенная разработка
|
|
524 / 512 / 129
Регистрация: 31.10.2016
Сообщений: 4,156
|
|
| 22.12.2024, 22:39 | |
|
Нужно установить и настроить SDK для целевой системы, там будет свой компилятор, которым и нужно компилировать код. Одно время я делал такое для OpenWrt, это такой микро линукс для встраваемых систем.
0
|
|
|
364 / 218 / 53
Регистрация: 18.10.2017
Сообщений: 2,350
|
|
| 22.12.2024, 22:51 [ТС] | |
|
Благодарю за ответ, а этот SDK искать на сайте процессора, для которого предполагается писать программы? Или как-то иначе?
0
|
|
|
524 / 512 / 129
Регистрация: 31.10.2016
Сообщений: 4,156
|
|
| 22.12.2024, 23:32 | |
|
для OpenWrt я качал отсюда https://downloads.openwrt.org/releases/
там нужно выбрать релиз, который поддерживает Ваше железо, потом в раздела targets выбираете архитектуру, гдето там в конце будет архив, его и нужно скачать. У меня назывался openwrt-sdk-21.02.2-ramips-mt76x8_gcc-8.4.0_musl.Linux-x86_64.tar.xz если всё получится - исходники компилируются также как и в gcc, только компилятор называется по другому, у меня например вот так компилируется: $ mipsel-openwrt-linux-gcc -o hello hello.c потом просто копируете исполняемый файл в устройство и всё Но, при таком способе может не найтись всех необходимых библиотек и драйверов. Есть и другой путь - клонировать все репозитории целевой платформы, потом собрать инструментарий и тулчейн. Там будет всё что нужно, и в результате получится ни какой то исполняемый файл, а нормальный установочный пакет. Но это намного сложнее, нужно правильно расположить исходники и главное, правильно написать Makefile. Я помню мучился недели 2, но потом всё получилось. В общем нет так то оно и просто. Для других дистрибутивов Linux наверное всё аналогично, но я не пробовал
0
|
|
|
364 / 218 / 53
Регистрация: 18.10.2017
Сообщений: 2,350
|
|
| 23.12.2024, 08:44 [ТС] | |
|
Alexis333, благодарю за подробные разъяснения.
0
|
|
|
9 / 7 / 2
Регистрация: 22.12.2024
Сообщений: 31
|
||||||
| 24.12.2024, 09:15 | ||||||
|
Если вы планируете разработку под "голое железо" (bare metal) на arm, то в современных дистрибутивах обычно уже есть пакеты. Например, у меня в void-linux:
Если используете debian, то список пакетов можно тут найти.
0
|
||||||
|
364 / 218 / 53
Регистрация: 18.10.2017
Сообщений: 2,350
|
|
| 25.12.2024, 13:37 [ТС] | |
|
basiliscos, благодарю засовет, я сейчас именно смотрю описания подобных пакетов я Astra Linux. у меня вопрос состоит в том, какие пакеты с библиотеками надо установить, какой компилятор, например, gcc-arm-none-eabi, как создать Makefile, чтобы подключалось то, что надо.
0
|
|
|
9 / 7 / 2
Регистрация: 22.12.2024
Сообщений: 31
|
|
| 26.12.2024, 12:10 | |
|
Всё зависит от того, что собираете, под какую архитектуру и т.п.
Лучше `CMake` пользоваться, просто погуглите как hello-word (blinky, мигалка светодиодом) под aarch64, скажем, сделать.
0
|
|
|
364 / 218 / 53
Регистрация: 18.10.2017
Сообщений: 2,350
|
|
| 26.12.2024, 14:32 [ТС] | |
|
Ещё вопрос: есть два варината пакетов, с -none-eabi и с -linux-gnueabi. 1-й, как пишут, для bare metal, программирования "по железу", когда программа записывается в процессор (микроконтроллер) в устройстве без операционной системы. Я когда-то имел с этим дело, там всё было уже подготовлено другим человеком, а процессоры были Atmega и AVR. А как работает 2-й вариант? Компилирование всё равно может происходить на компьютере, там же устанаваются компилятор, ассемблер, линковщик, библиотеки? Или компилирование в этом случае должно происходить на целевой плате?
Добавлено через 34 минуты Или 2-й вариант имитирует компилирование на целевой плате, например, его можно или нужно выполнять в виртуальной машине?
0
|
|
|
9 / 7 / 2
Регистрация: 22.12.2024
Сообщений: 31
|
||||
| 26.12.2024, 20:31 | ||||
|
0
|
||||
|
364 / 218 / 53
Регистрация: 18.10.2017
Сообщений: 2,350
|
|
| 26.12.2024, 21:07 [ТС] | |
|
basiliscos, понятно, благодарю за разъяснение.
0
|
|
| 26.12.2024, 21:07 | |
|
Помогаю со студенческими работами здесь
11
Унифицированная кросс-платформенная библиотека Си Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64 Кросс компиляция из под linux Кросс компиляция под Win из Linux Qt: кросс-компиляция из windows под linux Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|