2023-01-20 338
我正在尝试遵循以下位置的教程
要点是,它允许人们使用la脚mp3编码器.
我遵循教程中提到的每个步骤.我的项目位于
C:\workspace\
,称为’lame_test’.根据本教程中用NDK 标记为汇编的部分,我继续进行了一个名为” Android.mk”的makefile,如本文下方所述.
我在64位计算机上运行Windows 7.我确实已经安装了Cygwin和NDK,并测试了我的设置在我正在从事的另一个项目上工作.但是,当我去
时
/cygdrive/c/workspace/LAME_Test/jni
在cygwin上并发出以下命令
/cygdrive/c/Android/android-ndk-r8b/ndk-build
鉴于NDK位于
C:\Android\android-ndk-r8b
汇编吐出了一堆这样的警告
warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
我在这篇文章的底部封装了一个警告的小片段(因为警告列表确实很大,并且可能只是添加混乱 – 而不是添加值).
想知道是否有一种解决这些警告并获得良好,干净,编译的方式.
p.s:我将补充说,我能够在上面的链接(lame4android)中构建 +运行示例项目.这需要本机代码的汇编.因此,尽管所有警告,但实际上该项目确实可以构建良好的.我最初认为它因警告而被打破.但是,如果有某种方法可以解决警告,那确实真的很棒.
android.mk文件的内容
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libmp3lame
LOCAL_SRC_FILES := \
./libmp3lame/bitstream.c \
./libmp3lame/encoder.c \
./libmp3lame/fft.c \
./libmp3lame/gain_analysis.c \
./libmp3lame/id3tag.c \
./libmp3lame/lame.c \
./libmp3lame/mpglib_interface.c \
./libmp3lame/newmdct.c \
./libmp3lame/presets.c \
./libmp3lame/psymodel.c \
./libmp3lame/quantize.c \
./libmp3lame/quantize_pvt.c \
./libmp3lame/reservoir.c \
./libmp3lame/set_get.c \
./libmp3lame/tables.c \
./libmp3lame/takehiro.c \
./libmp3lame/util.c \
./libmp3lame/vbrquantize.c \
./libmp3lame/VbrTag.c \
./libmp3lame/version.c
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
内置功能警告的不兼容隐式声明的日志
$/cygdrive/c/Android/android-ndk-r8b/ndk-build
Cygwin : Generating dependency file converter script
Compile thumb : mp3lame <= bitstream.c
Compile thumb : mp3lame <= encoder.c
C:/workspace/LAME_Test/jni/./libmp3lame/encoder.c: In function 'lame_encode_frame_init':
C:/workspace/LAME_Test/jni/./libmp3lame/encoder.c:202:9: warning: incompatible implicit declaration of built-in function 'memset' [enabled by default]
C:/workspace/LAME_Test/jni/./libmp3lame/encoder.c: In function 'lame_encode_mp3_frame':
C:/workspace/LAME_Test/jni/./libmp3lame/encoder.c:471:17: warning: incompatible implicit declaration of built-in function 'bcopy' [enabled by default]
Compile thumb : mp3lame <= fft.c
Compile thumb : mp3lame <= gain_analysis.c
and so on...
经过大量搜索后,看起来我要寻找的答案
lame mp3 coder compile for android
我的关键是确保将以下行添加到我的android.mk文件
LOCAL_CFLAGS = -DSTDC_HEADERS
詹姆斯张提到.
我将完整的makefile包裹在这篇文章下面,所以我说的是非常清楚的.
更新的android.mk文件的内容
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libmp3lame
LOCAL_SRC_FILES := \
./libmp3lame/bitstream.c \
./libmp3lame/encoder.c \
./libmp3lame/fft.c \
./libmp3lame/gain_analysis.c \
./libmp3lame/id3tag.c \
./libmp3lame/lame.c \
./libmp3lame/mpglib_interface.c \
./libmp3lame/newmdct.c \
./libmp3lame/presets.c \
./libmp3lame/psymodel.c \
./libmp3lame/quantize.c \
./libmp3lame/quantize_pvt.c \
./libmp3lame/reservoir.c \
./libmp3lame/set_get.c \
./libmp3lame/tables.c \
./libmp3lame/takehiro.c \
./libmp3lame/util.c \
./libmp3lame/vbrquantize.c \
./libmp3lame/VbrTag.c \
./libmp3lame/version.c
LOCAL_LDLIBS := -llog
LOCAL_CFLAGS = -DSTDC_HEADERS
include $(BUILD_SHARED_LIBRARY)
以上所述是小编给大家介绍的使用NDK和LAME的内置函数的不兼容隐式声明警告,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26006.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态