如何在NaCl模块中使用移植库?

时间:2014-04-24 13:53:13

标签: c++ c native-code google-nativeclient

我想在我的NaCl模块中使用openssl库。幸运的是,它已经像https://code.google.com/p/naclports/一样移植了。但是,它有点遗憾,但我不知道如何将库添加到工具链中。我按照Readme文件中的指示做了:

  

... nacl_sdk / pepper_33 / naclports / src $ python build_tools / naclports.py install openssl   已安装'openssl'[x86_64 / newlib]

然后我尝试编译这个简单的C code,并且编译器会因为与openssl/evp.h的链接问题而引发一些错误。

这是我的Makefile:link。请让我知道如何让它运行。

2 个答案:

答案 0 :(得分:2)

NaCl实际上由几个不同的工具链组成。 naclports将在每次只为其中一个构建和安装一个给定的库。库和头文件直接安装到工具链中,因此命令行上不需要-L或-I。

在这种情况下,您已经构建并安装了openssl的x86_64 newlib版本。这意味着您应该能够构建应用程序的x86_64 newlib版本(将TOOLCHAIN = newlib NACL_ARCH = x86_64添加到您的make调用中)。

要构建所有其他版本的openssh,您可以使用" make_all.sh" naclports顶层的脚本(例如./make_all.sh openssl)。

答案 1 :(得分:1)

构建naclports。查看naclports / README.rst获取说明。