android - StrongSwan 为 Android 内核根目录编译
问题描述
如何为 Android 内核编译或交叉编译 StrongSwan (VPN)。我说的不是 .APK,而是源代码中的 c++ 二进制文件。
我阅读了官方文档,其中讨论了编译 StrongSwan 以总体上编译 strongswan。我还阅读了针对 Android 交叉编译 strongswan的官方文档。
我测试了两种方法都没有成功:
第一种方法,我尝试在我的 Ubuntu 中使用 NDK for arm 进行交叉编译,但是在 ./configure 步骤中,我的 gmp 库出现了一个我无法解决的错误。
configure: error: GNU Multi Precision library gmp not found
我尝试了各种版本的 strongswan 和 Android API
第二种方法,我用 QEMU (ARM64) 模拟树莓派,在里面我可以编译 strongswan 并运行它。但是当我把它放在 Android Studio 模拟器上时,我得到了一个错误。我认为这是因为我用动态库编译了 strongswan。我尝试了该选项
--disable-shared --enable-static --enable-monolithic
但是当我在二进制文件上执行命令文件时:
# file starter
starter: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=e8e45d6d999bee049625c8c28e3552248045a2ab, with debug_info, not stripped
二进制文件似乎是动态链接的。我怎样才能静态编译它们?
解决方案
推荐阅读
- c - 在预处理器中定义变量参数函数#define
- python - 刺激基质上的液体流动
- c# - RegisterMessageHandler 可能无法执行其消息处理功能的一些原因是什么?
- php - 多个学生同时注册,Codeigniter 中没有数据冲突
- image - 如何使用 gspread (或任何其他包)将图像插入 Python 中的 Google 表格?
- python-3.x - 如何将长时间的月份和年份序列重新采样为具有每月平均值的单个平均(可能不存在)年份?
- python - Python/Pandas:比较不同 CSV 文件中长度不同的两个字符串列,并找出数据相同的位置
- php - 对文件进行更改后,PHP 文件无法从数据库中提取和拆分图像
- python - 已从模块导入后的 Python 修补(使用 unittest.mock)功能
- c++ - C++:递归锁——有什么缺点吗?