交叉编译时 NDK 工具链中的 /system/bin/linker 在哪里
Where is /system/bin/linker from NDK toolchain when cross compiling
我正尝试在 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 ....
无处可去。这不是工具链的一部分。
如果您将其视为构建的一部分,则意味着有人试图在您的主机上运行 Android 二进制文件。这不应该发生。
我的猜测:你的 autoconf 项目被设置为运行"编译器工作吗"测试二进制文件,并且不明白x86_64 Android 与x86_64 GNU/Linux 不同。我在其他项目中看到了这个问题(gdbserver 是我想到的那个)。
你需要仔细看看正在运行什么以及为什么;这里没有足够的信息来肯定地说你需要修复什么。
相关文章:
- 如何在c++中使用system()来运行包含空格的python脚本
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- C++/CLI System.AccessViolation在托管类中调用非托管函数时出现异常
- 来自 Android 应用程序内部的 boost 类型的 boost::wrapexcept<boost::system::system_error> 的未捕获异常
- /usr/bin/ld: cannot find -lc++
- 加载"D:UsersPublicDocumentsopencvbuildx64vc14binopencv_world340d.dll",找不到或打开PDB文件
- 程序在使用 system() 启动另一个可执行文件时停止
- 为什么我的 DeviceInformation 对象没有 System.Devices.InterfaceClassGuid 属性?
- 为什么"using System;"不被视为不良做法?
- C++ 合并字符串以'system'函数错误
- System.AccessViolationException:shared_ptr C# .NET 和 C++ 应用程
- Linux ld 如何解释 -lSomething::AnotherSomething(如 /usr/bin/ld: 找
- 将 swig2.0 添加到 usr/bin/ 以运行 CMake
- 将 Vcl::Controls::TCaption aka (System::UnicodeString) 转换为 co
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- Qt5 [make -snap] 无法正确编译:进程"/usr/bin/snap"代码 1 退出
- Python os.system() 返回错误值
- 使用 system() 函数在C++程序中运行 cmd 命令
- 尝试编译 TensorFlow 时出错"/system/bin/linker: No such file or directory"
- 交叉编译时 NDK 工具链中的 /system/bin/linker 在哪里