C/C++

Как скомпилировать C++ приложениями под android?

Просто взять и собрать, без всякого написания костылей с NDK? Андроид это же почти линукс, мб есть какие то способы? Писал только под винду, так что скорее всего чего то не понимаю.
Павел Гарин
Павел Гарин
3 713
ну вот я только что просто ради интереса скачал какой-то рандомный кросс-gcc под aarch64 из репозитория, собрал на нём хеллоуворлд (пришлось добавить флаг, подменяющий путь к ld-linux https://stackoverflow.com/questions/42974611/android-executable-with-wrong-interpreter и включить статическую линковку), закинул через adb на смартфон на раздел, смонтированный без noexec, сделал chmod +x, и оно запустилось в той же adb консоли и вывело хеллоуворлд
так что особых проблем не вижу, разве что поизучать вопрос и разобраться, чем различаются всякие таргеты у кросс-компиляторов, возможно, если брать androideabi, можно и без костылей с флажками и статической линковкой обойтись, но тут я уже не экспериментировал


а ещё можно просто поставить термукс и собирать код gcc из его репы, это вообще как нефиг делать вроде бы
Роман Стецюк
Роман Стецюк
36 952
Лучший ответ
"Писал только под винду" - под самую примитивную и монолитную платформу)
Неудивительно.
Павел Гарин Ну а че, всё ясно и не понятно было.
Павел Гарин Это не я виноват что Линукс такой мудрёный
Берешь gcc-arm под нужную платформу и собираешь
Павел Донеко
Павел Донеко
25 514
Ну компилятор GCC может под Android существует, хотя не факт. И Android от Linux имеет общие только файловые системы, и похожую архитектуру. В остальном это разные системы.
Нихрена он не "почти линукс".
Да, под капотом используется ядро линукса, но до этого уровня ты хрен долезешь.
https://source.android.com/devices/architecture
Приложения потому и называются приложениями потому что они прикладываются к операционной системе и не могут работать сами по себе.

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

Различные операционные системы работают по разному т.е. они различаются поэтому не существуют приложений которые работают на всех операционных системах.
Решаются возникающие сложности с помощью -"всякого написания костылей с NDK".
ДБ
Дако Бакыт
12 593
qt + ndk топ. а вам сколько лет?
SU
Sultan Utelbaev
50