我试图针对CentOS主机上的NDK工具链构建一个autoconf项目,因此我可以使用作为本机库android应用程序的一部分生成的共享对象。
编译时,我收到有关丢失的/system/bin/linker64
文件的错误。 (bad ELF interpreter: No such file or directory)
这是NDK工具链的一部分,我可以将/ system / bin / linker64符号链接到工具链中的某个东西或我的CentOS动态链接器,或者什么?
我通过以下方式设置我的环境:
$NDK/build/tools/make_standalone_toolchain.py \
--arch x86_64\
--api 26 \
--install-dir=my-toolchain
并且我已经获得了该文件来设置环境:
# Add the standalone toolchain to the search path.
export PATH=$PATH:`pwd`/my-toolchain/bin
# Tell configure what tools to use.
target_host=x86_64-linux-android
export AR=$target_host-ar
export AS=$target_host-clang
export CC=$target_host-clang
export CXX=$target_host-clang++
export LD=$target_host-ld
export STRIP=$target_host-strip
# Tell configure what flags Android requires.
export CFLAGS="-fPIE -fPIC"
export LDFLAGS="-pie
我已使用以下命令运行我的配置脚本
./configure --host=$target_host ....
答案 0 :(得分:2)
无处。那不是工具链的一部分。
如果您将其视为构建的一部分,则意味着尝试在主机上运行Android二进制文件。那不应该发生的。
我的猜测:您的autoconf项目已设置为运行“编译器是否工作”测试二进制文件,并且不了解x86_64 Android与x86_64 GNU / Linux不同。我在其他项目中也看到过这个问题(gdbserver是我想到的那个问题)。
您需要仔细查看正在运行的内容以及原因;这里没有足够的信息来确定您需要解决的问题。