【问题标题】:Link openssl ported library with Native Client(NaCl) Module?将 openssl 移植库与 Native Client(NaCl) 模块链接?
【发布时间】:2015-03-20 10:28:32
【问题描述】:

我正在开发一个简单的 chrome 扩展来加密数据并将其上传到 Dropbox。我在链接 naclports 上构建了 openssl 库以在我的 NaCl 模块中使用。我的makefile 发布在codeshare link。代码找不到openssl头文件,报错如下:

  CXX  pnacl/Release/crest.o
In file included from crest.cc:17:
./aes.h:4:10: fatal error: 'openssl/conf.h' file not found
#include <openssl/conf.h>
         ^
1 error generated.
make: *** [pnacl/Release/crest.o] Error 1

作为参考,我还发布了指向我的源文件的链接: aes.h header fileaes.c codecrest.cc

【问题讨论】:

  • 很可能您没有使用 TOOLCHAIN=pnacl 构建 openssl,但您正在尝试使用 pnacl 构建您的应用/示例。
  • @sbc 是的,你是对的,我使用 TOOLCHAIN=pnacl 构建失败,我已经发布了另一个关于你已经评论过的 here 的问题。谢谢
  • 一个用于原生加密的 JS 接口对我来说非常有帮助。如果您将您的作品提供给其他人,请告诉我在哪里可以找到它。 :-)

标签: encryption google-chrome-extension openssl google-nativeclient


【解决方案1】:

您需要确保可以在包含路径中找到标头。 如果构建正确,openssl 的标头将位于此处: ${NACL_SDK_ROOT}/toolchain/linux_pnacl/le32-nacl/usr/include/openssl/conf.h

您可能希望在编译命令行中添加如下内容: -I ${NACL_SDK_ROOT}/toolchain/linux_pnacl/le32-nacl/usr/include

【讨论】:

  • 我按照您之前对我的问题stackoverflow.com/questions/29148430/… 的回答中的说明安装了成功的openssl,但我在给定的包含路径中找不到文件
  • 我在这个路径$NACL_SDK_ROOT/toolchain/linux_x86_newlib/x86_64-nacl/usr/include/openssl找到了openssl头文件。这是否意味着未正确安装 openssl?
  • 如 README.rst 文件中所述,我使用了 ./make_all.sh openssl 命令,但在成功安装 x86_64/glibc/releasex86_64/newlib/release 后,i686/glibc/release 失败了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多