Pull to refresh

Comments 10

Здравствуйте) opus была взята для примера. В реальном проекте были другие либы )

Как-то новичково. Ни оптимизаций, ни мороки с pic/pie, ни граблей с разными требованиями динамического компоновщика в разных версия андроид.

Здравствуйте. Всё верно, статья — довольно простой туториал, не было задачи что-то усложнять. Про pic/pie, если вы имеете ввиду кастомные флаги компиляции

-DCMAKE_C_FLAGS="-fPIE -fPIC"

то да, приходилось использовать, но там всё довольно понятно было. Если я правильно помню, то при линковке библиотеки в Android проект, линковщик (могу ошибаться кто именно) выдавал ошибку чтобы пересобрать бинарник с этими ключами, что нагуглилось довольно быстро.

Про костыли, возможно мне просто повезло. Интегрировал несколько библиотек, сложностей не было, правда и минимальная Android версия в проектах была довольно высокой, по-моему от Android 9+ из-за специфики проекта.

Если у вас был интересный опыт в этом, поделитесь, думаю многим будет интересно почитать :) Спасибо!)

Безусловно, содержимое статьи полезно в качестве иллюстрации как все слелать с нуля, но в реальных проектах я бы рекомендовал использовать vcpkg, это если не отраслевой стандарт, то уж точно очень популярная штука для сборки c/cpp библиотек под практически все актуальные платформы и их варианты.

Т.е. Ваша сборка свелась бы к чему-то типа: ./vcpkg install opus:arm-android opus:x64-android и тд. Попробуйте обязательно.

Спасибо! Про vcpkg звучит интересно, обязательно посмотрю)

Кстати, toolchain файл можно смело инклюдить в CMakeList.txt, если до project. А другие переменные, чтобы не заморачиваться со скриптами и -D -- можно записать во вспомогательный скрипт .cmake в папку cmake -- и тоже заинклюдить в головной CMakeList.

Видел такой подход, очень удобно, но сам не практиковал. Спасибо, взял на заметку.
Здравствуйте. Если честно первый раз слышу) Бегло попробовал, что-то не получилось ничего собрать, будет свободное время — попробую разобраться, что к чему. Спасибо за наводку!)
Sign up to leave a comment.

Articles