Android:错误:未定义引用'android_atomic_dec'

时间:2014-07-01 13:20:15

标签: android stagefright

我正在尝试使用硬件解码器(OMX编解码器)在Android 4.0.4的本机代码中为h.264视频解码构建我的代码,方法是将其保存在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和AOSP 4.0.4的system / core / include / cutils的头文件中。
所以我也通过LOCAL_C_INCLUDES在我的android.mk中添加了这个,但仍然得到同样的错误。
有人可以帮我解决这个问题吗?....

1 个答案:

答案 0 :(得分:2)

您必须将 cutils 添加到链接阶段:

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

如果要构建AOSP树,请改为使用以下内容:

LOCAL_SHARED_LIBRARIES += libcutils