Как запустить ranlib для архива, созданного через Android.mk?
Это касается нескольких библиотек, с которыми я регулярно работаю. Смотрите, например:
- Ошибка таблицы символов архива SSL (запустите ranlib)
- нет таблицы символов архива (запустите ranlib) при сборке libcryptopp.a через ndk-build
В своих вопросах пользователи создали Android.mk для библиотек OpenSSL и Crypto++. Похоже, что болевым моментом являются пользователи, добавляющие обертку Android.mk к исходным текстам.
За пределами Android каждый проект основан на Makefile, каждый проект создает статический архив, а каждый проект создает общий объект на основе статического архива. Каждый проект также выполняется ranlib
на статический архив. Crypto++ особенно чувствителен к необходимости ranlib
потому что его библиотека C++ и нарушения One Definition Rule приводят к неопределенному поведению.
При использовании Android.mk для создания статического архива, как мы запускаем ranlib для архива через Android.mk?
1 ответ
Я столкнулся с подобными проблемами и нашел команду на этом сайте, которая исправила это для меня
# The -E is important. Root needs some of the user's environment
$ sudo -E make install CC=$ANDROID_TOOLCHAIN/arm-linux-androideabi-gcc RANLIB=$ANDROID_TOOLCHAIN/arm-linux-androideabi-ranlib