aarch64-linux-gnu 和 aarch64-linux-android 库之间的区别
Difference between aarch64-linux-gnu and aarch64-linux-android libraries
我想在 Android 上使用一个为 arm64 编译的共享库。我的 .so 文件位于 aarch64-linux-gnu
文件夹中,但对于其他库,我有一个 aarch64-linux-android
文件夹。
这些库可以在 arm64 Android 设备上为 aarch64-linux-gnu
运行 编译吗?这些名称究竟代表什么?我知道 aarch64
指的是 arm64 处理器架构,但我不知道这里的操作系统是如何关联的。
谢谢!
Android 和 ARM 我有一些相同的库。基本上 SO
文件必须能够找到它链接到 运行 的所有库,并且版本需要匹配,这样就不会出现任何问题。这是有风险的,在目标机器上编译整个程序通常是最安全的。您可以使用以下方法查看是否 located/what 丢失了所有内容:
ldd /path/to/file.so
这将为您提供库列表以及文件认为它们所在的位置 - 或 ???如果找不到。您需要仔细检查一下,看看结果是否正常。
即使找到所有依赖项,版本或体系结构不匹配也会导致程序在 运行 时中断。您需要广泛测试外部链接库的使用,即使那样您也可能会错过一些破坏程序的情况。出于这个原因,如果可能的话,我会尝试获取源代码,然后在目标机器上重新编译所有内容。
我想在 Android 上使用一个为 arm64 编译的共享库。我的 .so 文件位于 aarch64-linux-gnu
文件夹中,但对于其他库,我有一个 aarch64-linux-android
文件夹。
这些库可以在 arm64 Android 设备上为 aarch64-linux-gnu
运行 编译吗?这些名称究竟代表什么?我知道 aarch64
指的是 arm64 处理器架构,但我不知道这里的操作系统是如何关联的。
谢谢!
Android 和 ARM 我有一些相同的库。基本上 SO
文件必须能够找到它链接到 运行 的所有库,并且版本需要匹配,这样就不会出现任何问题。这是有风险的,在目标机器上编译整个程序通常是最安全的。您可以使用以下方法查看是否 located/what 丢失了所有内容:
ldd /path/to/file.so
这将为您提供库列表以及文件认为它们所在的位置 - 或 ???如果找不到。您需要仔细检查一下,看看结果是否正常。
即使找到所有依赖项,版本或体系结构不匹配也会导致程序在 运行 时中断。您需要广泛测试外部链接库的使用,即使那样您也可能会错过一些破坏程序的情况。出于这个原因,如果可能的话,我会尝试获取源代码,然后在目标机器上重新编译所有内容。