我正在使用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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)