Android: ошибка: неопределенная ссылка на ‘android_atomic_dec’

#android #stagefright

#Android #stagefright

Вопрос:

Я пытаюсь создать свой код для декодирования видео h.264 с использованием аппаратного декодера (OMX codec) в собственном коде Android 4.0.4, сохранив его в дереве исходных текстов Android. Исходный код Android уже собран. Я использую команду mm для сборки моего модуля декодера.
Но когда я пытаюсь его собрать, я получаю следующую ошибку

 prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld:   
out/target/product/generic/obj/SHARED_LIBRARIES/custom_decoder_intermediates/custom_decoder.o:
in function custom_decoder::decode_video():frameworks/base/include/utils/RefBase.h:171:  
error: undefined reference to 'android_atomic_dec'
  

когда я изучил это, узнал, что android_atomic_dec определен в cutils/ atomic.h
которая находится в system / core / libcutils и заголовке system / core /include / cutils AOSP 4.0.4.
Итак, я добавил это также в свой android.mk через LOCAL_C_INCLUDES, но все равно выдает ту же ошибку.
Может ли кто-нибудь помочь мне решить это ??….

Ответ №1:

Необходимо добавить cutils на этап компоновки:

 LOCAL_LDLIBS  = -L $(path-to-system-libs) -lcutils
  

Если вы строите дерево AOSP, используйте вместо этого следующее:

 LOCAL_SHARED_LIBRARIES  = libcutils