我可以 link Node.js C++ 扩展来对抗 Node 的内部 OpenSSL 实现吗?

Can I link a Node.js C++ extension against Node's internal OpenSSL implementation?

我有一个用 C++ 编写的节点扩展,需要 link 针对 OpenSSL。我还看到 Node 有一个 TLS Module 是使用 OpenSSL 实现的。我可以 link 我的扩展程序针对 binding.gyp 文件中的 OpenSSL 节点副本吗?

事实证明,node-gyp documentation 中涵盖了这个确切的场景。基本上,Node.js 源代码分发中包含带有 OpenSSL headers 的目录,并且可以添加到 node-gyp 包含路径列表中。在 Linux 上,实际 linking 是不必要的,因为符号将在加载时由 Node 运行时提供给扩展。

在 Windows 上,这不起作用,扩展需要针对单独安装的 OpenSSL 的外部副本显式编译和 link。