我最近使用 NDK 构建了一个简单的 Hello World 程序,并尝试让它在我的 Rasberry Pi2 上运行,该 Pi2 在 Arm 处理器上运行 Rasberry Linux 发行版。但是,操作系统无法识别可执行文件并提示它不是有效的可执行文件。
我想知道为什么会这样?为什么我们有不同的构建工具链用于 Android 和 Raspberry,即使它们都是 Linux 和 ARM。
最佳答案
Android 使用 armeabi 或 armeabi-v7a。另一方面,Raspberry 使用不兼容的 gnueabihf ABI。请注意,Android 具有 Bionic 运行时库,它与 Linux 的其余部分并不完全兼容。
关于linux - 使用 Android NDK 构建的 native 可执行文件与使用 gcc-arm for Raspbian(pi-tools)为 Raspberry Pi 构建的本地可执行文件有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31378792/