0

我正在尝试为 Android 构建 ltrace。我遵循了这些命令:

    export SYS_ROOT="/home/pedro/Android/Sdk/ndk-bundle/platforms/android-19/arch-x86"
    export CC="/home/pedro/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-gcc --sysroot=$SYS_ROOT"
    export PATH="/home/pedro/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/:$PATH"

接着:

    ./configure --host=i686-linux

但我收到了这个错误:

    checking gelf.h usability... no
    checking gelf.h presence... no
    checking for gelf.h... no
    configure: error: *** libelf.h or gelf.h not found on your system

我也试过:

    ./configure --host=i686-linux --with-libelf=/usr/local

并收到:

    checking gelf.h usability... no
    checking gelf.h presence... yes
    checking for gelf.h... no
    configure: error: *** libelf.h or gelf.h not found on your system

我在这里发现了一个类似/相同的问题 ltrace for Android build 但由于没有人回答而且几个月前我再次提出了这个问题。我希望没有问题。任何人都可以帮助我解决这个问题或以其他方式帮助我为 Android 构建 ltrace 吗?谢谢你。

4

1 回答 1

0

ltrace 依赖于 libelf。这意味着您还需要为 Android 交叉编译 libelf,并将 ltrace 构建指向带有--with-libelf. 当您指定 时--with-libelf=/usr/local,您将 ltrace 构建指向为您的主机构建的 libelf 版本。

于 2016-08-17T15:31:55.223 回答