[英]Error cross-compiling openconnect-8.08 for android
当我按照此处的说明进行操作时,在运行“make”的最新指令时出现此错误:
make[1]: Entering directory '/home/fasegiar/Downloads/openconnect-8.08'
CC libopenconnect_la-ssl.lo
In file included from ssl.c:41:
In file included from ./openconnect-internal.h:102:
In file included from /usr/include/libxml2/libxml/tree.h:1307:
In file included from /usr/include/libxml2/libxml/xmlmemory.h:218:
In file included from /usr/include/libxml2/libxml/threads.h:35:
In file included from /usr/include/libxml2/libxml/globals.h:18:
In file included from /usr/include/libxml2/libxml/parser.h:810:
/usr/include/libxml2/libxml/encoding.h:31:10: fatal error: 'unicode/ucnv.h' file not found
#include <unicode/ucnv.h>
^~~~~~~~~~~~~~~~
1 error generated.
Makefile:1037: recipe for target 'libopenconnect_la-ssl.lo' failed
make[1]: *** [libopenconnect_la-ssl.lo] Error 1
make[1]: Leaving directory '/home/fasegiar/Downloads/openconnect-8.08'
Makefile:749: recipe for target 'all' failed
make: *** [all] Error 2
我使用的目标是: armv7a-linux-androideabi
我的工具链是: /home/fasegiar/Documents/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64
从您发布的片段中,我已经可以告诉您这行不通。 交叉编译时,您需要首先为您的目标平台(即 Android)交叉编译所有依赖项,然后告诉配置脚本在哪里可以找到已安装的依赖项。 对于openconnect ,依赖项是:
必需的:
可选的:
- p11-kit(用于 PKCS#11 支持)
- libp11(如果使用 OpenSSL,PKCS#11 支持也需要)
- 库代理
- 裤子(如果使用 GnuTLS,则支持 TPMv1)
- libtasn1 和 tss2-esys 或 IBM 的 TPM 2.0 TSS。 (对于 TPMv2 支持,如果使用 GnuTLS)
- libstoken(用于 SecurID 软件令牌支持)
- libpskc(用于 HOTP/TOTP 密钥的 RFC6030 PSKC 文件存储)
- libpcsclite(用于 Yubikey 硬件 HOTP/HOTP 支持)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.