使用Bazel编译OpenSSL for Android

使用Bazel编译OpenSSL for Android,第1张

概述我正在使用bazel为我的Android应用程序构建一个本机库.我想在它上面使用一些OpenSSL函数,如下所示:#include<jni.h>#include<openssl/aes.h>...AES_encrypt(in,out,key);如何将openssl库添加到bazel构建?附属问题:我应该使用哪个档案?openssl-1.1.0c.tar.gzopenssl-1.0

我正在使用bazel为我的Android应用程序构建一个本机库.

我想在它上面使用一些OpenSSL函数,如下所示:

#include <jni.h>#include <openssl/aes.h>...AES_encrypt(in, out, key);

如何将openssl库添加到bazel构建?

附属问题:我应该使用哪个档案?

openssl-1.1.0c.tar.gzopenssl-1.0.2j.tar.gzopenssl-1.0.1u.tar.gzopenssl-fips-2.0.13.tar.gzopenssl-fips-ecp-2.0.13.tar.gz

我试过的

我已经下载了openssl-1.0.2j存档.并在我的BUILD文件中添加了cc_library条目.

cc_library(    name = "openssl",    srcs = glob([         "openssl-1.0.2j/crypto/**/*.h",         "openssl-1.0.2j/crypto/**/*.c"         ]),    includes = [        "openssl-1.0.2j",        "openssl-1.0.2j/crypto/",        ],    visibility = ["//visibility:public"],)

我有这个错误:

openssl-1.0.2j/crypto/dh/p512.c:60:24: Fatal error: openssl/bn.h: No such file or directory #include <openssl/bn.h>

但我不明白为什么这段代码试图在openssl-1.0.2j / crypto /中包含openssl的文件

使用openssl-1.1.0c

openssl-1.1.0c/include/openssl/e_os2.h:13:34: Fatal error: openssl/opensslconf.h: No such file or directory # include <openssl/opensslconf.h>

即使我运行Configure命令,也不会生成opensslconf.h文件.

解决方法:

基于@ulf Adams的回答,我放弃了尝试用bazel编译OpenSSL.我用的是BoringSSL.

BoringSSL是OpenSSL的一个分支,可以通过以下方式很容易地成为一个bazel项目的incorporated:

git_repository(    name = "boringssl",    commit = "_some commit_",    remote = "https://boringssl.Googlesource.com/boringssl",)
总结

以上是内存溢出为你收集整理的使用Bazel编译OpenSSL for Android全部内容,希望文章能够帮你解决使用Bazel编译OpenSSL for Android所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1117350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存