我正在为 C/C++ 中的 node.js 开发一个简单的模块。该模块依赖于第三方(开源)C 库,该库可能会或可能不会安装在可以编译我的模块的机器上。
我的问题是,我该如何处理这种依赖关系?bindings.gyp 是否提供某种我可以使用的机制,我应该捆绑它(如果那样,如何?),还是应该记录我的出路并通知用户在编译我的模块之前安装库?
我正在为 C/C++ 中的 node.js 开发一个简单的模块。该模块依赖于第三方(开源)C 库,该库可能会或可能不会安装在可以编译我的模块的机器上。
我的问题是,我该如何处理这种依赖关系?bindings.gyp 是否提供某种我可以使用的机制,我应该捆绑它(如果那样,如何?),还是应该记录我的出路并通知用户在编译我的模块之前安装库?
您可以使用 gyp 中的目标执行此操作:
https://code.google.com/p/gyp/wiki/GypUserDocumentation#Dependencies_between_targets
真实模块中的示例: