小编Rez*_*eza的帖子

Android NDK for x86_64没有bcopy和index的参考

我正在尝试使用Android NDK为x86_64架构编译Lame声音库.我收到以下链接错误未定义引用bcopyindex:

jni/libmp3lame/encoder.c:471: error: undefined reference to 'bcopy'
jni/libmp3lame/encoder.c:476: error: undefined reference to 'bcopy'
jni/libmp3lame/id3tag.c:1125: error: undefined reference to 'index'
jni/libmp3lame/newmdct.c:1036: error: undefined reference to 'bcopy'
jni/libmp3lame/util.c:685: error: undefined reference to 'bcopy'
Run Code Online (Sandbox Code Playgroud)

代码成功编译了x86和arm架构.

因此,我通过NDK的libs挖了一下,发现bcopyindex都出口了libc.so用于x86和ARM平台,而不是x86_64的(见下文objdump输出).

$> objdump -d android-ndk-r10d/platforms/android-21/arch-arm/usr/lib/libc.so | grep bcopy -A 6
0000b000 <bcopy>:
    b000:   e52db004 push   {fp}    ; (str fp, [sp, #-4]!)
    b004:   e28db000 add    fp, sp, #0
    b008:   e28bd000 add    sp, fp, #0
    b00c:   e8bd0800 …
Run Code Online (Sandbox Code Playgroud)

android android-ndk

6
推荐指数
2
解决办法
3362
查看次数

标签 统计

android ×1

android-ndk ×1