我正在尝试使用硬件解码器(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中添加了这个,但仍然得到同样的错误。
有人可以帮我解决这个问题吗?....
答案 0 :(得分:2)
您必须将 cutils 添加到链接阶段:
LOCAL_LDLIBS += -L $(path-to-system-libs) -lcutils
如果要构建AOSP树,请改为使用以下内容:
LOCAL_SHARED_LIBRARIES += libcutils