我正在将自定义编解码器集成到android源代码中的libstagefright.我成功地完成了任何解释
Custom Wrapper Codec Integration into Android
但我发现问题就像我的自定义编解码器中的.s文件一样.
我正在关注LOCAL_CFLAGS:= -DOSCL_EXPORT_REF = -DOSCL_IMPORT_REF =从中没有.s文件构建.
我找到了几个解决方案,但那些不是我的答案
链接是
> Android NDK: How to get compiler architecture in Android.mk dynamically
> What does this line mean? LOCAL_EXPORT_C_INCLUDES
> Define a symbol for an assembly (.s) source file in Android.mk?
> http://netmite.com/android/mydroid/dalvik/vm/Android.mk
> http://elinux.org/Android_Build_System
> https://cells-source.cs.columbia.edu/plugins/gitiles/toolchain/benchmark/+/8c231164b9a0a1b1b0784fe6d376ef201dce433d/gcstone/bench.mk
请帮我解决这个问题
提前致谢.
解决方法:
请尝试使用此方法包含.s文件.有一个后备C实现很重要,我假设你有一个.在您的编解码器的Android.mk文件中,
ifeq ($(TARGET_ARCH),arm)
LOCAL_SRC_FILES += \
src/asm/file1.s \
src/asm/file2.s \
src/asm/file3.s \
src/asm/file4.s
else
LOCAL_SRC_FILES += \
src/file1.cpp \
src/file2.cpp \
src/file3.cpp \
src/file4.cpp
endif
例如,您可以参考此解码器的构建方式,如此Android.mk
文件中所示.