LINUX.ORG.RU
ФорумMobile

Не могу победить Linaro

 ,


0

1

Доброго времени суток! Несколько дней бьюсь с Linaro: собираю бинарник для андрюши 4. Если собирать вроде «разные-слова-g++ file.cpp» получаю на выходе 40кб, которые благополучно не запускаются. Если вписать -static, все работает, но 10мб - не круто (этот же код собирается в c4droid прямо на ППК в 800кб что тоже не круто,но работает не хуже и, конечно, запускается быстрее) Пробовал ключами -L -I -l впихнуть ему файлы от c4droid - результат тот же. Пробовал разные версии linaro.


Несколько дней бьюсь с Linaro: собираю бинарник для андрюши 4

Linaro

Android

?

Android NDK быть может? Старые версии должны поддерживать Android 4.x.

На крайний случай, я в прошлом году для себя открыл, что если не устраивает версия компилятора, можно использовать свежий clang со старыми sysroot и получать совместимые бинари. И даже написал модуль для waf.

a1batross ★★★★★
()
Ответ на: комментарий от a1batross

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

Mifls
() автор топика
Ответ на: комментарий от a1batross

Linaro вроде как круто оптимизирует. А даже если пихать его в NDK, все равно нужно разбираться с NDK. К слову, запихать Linaro в CLion у меня уже не вышло (правда, я не старался, потому что с консолью быстрее).

Mifls
() автор топика
Ответ на: комментарий от a1batross

Да и не думаю, что Linaro умеет Android ABI.

Умеет: внимательно читайте шапку.

Linaro это просто сборка GCC, как и в Android NDK был когда-то.

Я это знаю, а как правильно компилировать-то (так чтобы 1.работало; 2.весило меньше 10мб)? Повторюсь: цель - бинарник в /system/xbin, которым я уже неделю пользуюсь, но весит он многовато и собран непонятно чем. То есть у меня нет проблем со сборкой, у меня проблемы с совестью и linaro=). +для общего развития.

Mifls
() автор топика
Ответ на: комментарий от Mifls

так чтобы 1.работало; 2.весило меньше 10мб

На чистой сишечке с оптимизацией по размеру и без зависимостей. Учитывая то, что сишных зависимостей на Android - куцая libc и ещё что-то по мелочи, если это «что-то» вообще есть.

anonymous
()
Ответ на: комментарий от anonymous

Можно, пожалуйста, подробнее про компиляцию? Может надо как-то libc из прошивки прикручивать?

Что значит без зависимостей? include-ов что ли? Никак. Но c4droid смог сделать 800кб, наверно и linaro сможет.

Кстати, если прописать -static и скомпилить void main(){}, все равно 10мб=)

Mifls
() автор топика
Ответ на: комментарий от Mifls

Не, статика это читерство. Будем считать что не умеет без статики – не умеет в принципе. :)

a1batross ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.