[求助]Android下可用的ltrace,最好是静态链接版本 或编译方法

2016-6-17 17:02

7255

[求助]Android下可用的ltrace,最好是静态链接版本 或编译方法

2016-6-17 17:02

7255

试验了几天,随源码也没编译出Android版本的ltrace,看Android官方公告,Disable ltrace build,应该是一个依赖库不能用clang编译。我在4.4源码中用0.5.3ltrace编译是总是报Libiberty不对。在6.0源码中编译0.7.9版本时mmm不起作用,我修改了Android .mk的条件编译也不灵。谷歌和百度了很多资料都没有找到解决方案,请各位大侠指点。

这是我用对立工具链编译时的错误,用的是NDK11版的独立工具链,出错情况和在4.4源码编译时相同。编译已经通过了,就是找不到库。其实是不兼容warning: skipping incompatible。因为没有4.4的出错信息,就用这个代替。独立工具链版本不兼容正常,因为是4.4源码带的,和R11的版本不同。可是6.0源码就是没有ARM版本的Libiberty。

/home/yj/toolchain/bin/arm-linux-androideabi-gcc  main.o libltrace.a -lelf -lsupc++ -liberty  -o ltrace

/home/yj/toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /home/yj/toolchain/bin/../sysroot/usr/lib/libiberty.a while searching for iberty

/home/yj/toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /home/yj/toolchain/bin/../sysroot/usr/lib/libiberty.a while searching for iberty

/home/yj/toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -liberty

read_config_file.c:86: error: undefined reference to 'index'

demangle.c:32: error: undefined reference to 'cplus_demangle'

elf.c:48: error: undefined reference to 'error'

elf.c:55: error: undefined reference to 'error'

elf.c:70: error: undefined reference to 'error'

elf.c:252: error: undefined reference to 'error'

external/elfutils/libelf/elf_error.c:383: error: undefined reference to 'dgettext'

collect2: error: ld returned 1 exit status

make: *** [ltrace] 错误 1

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐