Fesor
@Fesor
Full-stack developer (Symfony, Angular)

Кросс-компиляторы, сборка проекта под x86-64 и ARM, и собственно разработка под множество платформ?

Возникла идея проекта, и все вроде как хорошо, ресерч завершился более менее успешно и вроде как стоит уже приступать к реализации, но не тут то было.

У меня нету вообще опыта разработки кросплатформенного софта (какие-то простенькие программы на qt не всчет), так что я даже не знаю с чего начать.

Сама программа представляет собой ядро для других программ. По сути это отдельный процесс-демон, выполняющий какую-то работу. Никакого gui. Несколько модулей должны производить довольно много вычислений, так что тут уж ничего не поделать, придется писать для того же arm отдельно платформозависимый код (opencl не поддерживается на андроидах). Так же нужна поддержка автоматической векторизации вычислений. Поскольку проект создается интереса ради, покупать лицензию на intel parallel studio как-то не особо хочется. А из бесплатных это либо gcc либо clang (у которого все плохо с windows и нету поддержки neon).

cmake - удобно, но есть насколько я помню сложности с настройкой кастомного компилятора для windows (хотя может и visual studio подойдет, с версии 2011+ вроде как компилятор vs поддерживает автоматическую векторизацию, но не знаю есть ли это дело в express редакции), все же хотелось бы использовать gcc. Да и честно я пока слабо представляю как это все настраивать, как потом работать с инкрементными билдами, как билдить библиотеки дополнительные, разделять на модули и т.д.

В идеале было бы неплохо найти небольшой по объему кодовой базы проект, который поддерживает архитектуры arm и x86-64 (операционные системы необходимые на данный момент - windows, windows phone, linux, android). Опять же если у кого есть опыт, подскажите какой workdflow должен быть на подобных проектах, какие моменты сложнее всего, и какие можно решить.
  • Вопрос задан
  • 4210 просмотров
Пригласить эксперта
Ответы на вопрос 1
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Express - это IDE. Ничего общего с утилитами сборки она не имеет.

В идеале - Вы сами назвали - Qt. Дабы не сильно париться, могу подсказать интересный трюк для параллельных вычислений - считайте всё в шейдере, запихав информацию в текстуры. А потом из этих же текстур вытаскивайте результат. Это самый кроссплатформеный способ.

Ну, или придётся писать немного платформозависемого кода. Алсо
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы