在构build时节点gyp链接库依赖关系
我的nodejs
插件使用cares
库和我的binding.gyp
有dependencies
属性是指向这一点。 现在,每当我必须运行addon
,我必须导出LD_LIBRARY_PATH
variables。
有没有办法我可以在binding.gyp
configuration这个,这样每次我都不需要设置LD_LIBRARY_PATH
。 (在build立时链接)
"dependencies": [ "deps/cares/cares.gyp:cares" ]
依赖项设置: "dependencies": [ "deps/cares/cares.gyp:cares" ]
Ex export: export LD_LIBRARY_PATH=build/Release
"libraries": [ "-Wl,-rpath,./build/Release/" ]
在Mac和Linux(Ubuntu)上为我工作。
我的答案是如何在binding.gyp node-gyp for node.js扩展中添加对静态库的依赖似乎也适用于此处,并且应该是跨平台的。
简而言之,它使用module_root_dir
并build立一个绝对path。 例:
"libraries": [ "-lcares", "-L<(module_root_dir)/build/Release/" ]
我已经成功地在Ubuntu和Debian中使用以下binding.gyp
行获取相对path:
"libraries": [ "../lib/somelib/somelib.a" ]
我的文件夹结构如下所示:
|--binding.gyp |--app.cc |--lib |--somelib |--somelib.a
我从这里得到了一些方法(有点间接): https : //github.com/nodejs/node-gyp/issues/49
- 无法将stream作为parameter passing给aspnet.core.NodeServices中的JS
- 存在于局域网中的所有IP地址(即设备)列表
- NetworkStream写入()与事件名称
- NodeJS Addon从NAN内部调用JavascriptcallbackAsyncWorker :: Execute
- 成功编译节点模块和“模块没有自行注册”。
- node-gyp OSX 10.7.5 – dyld:懒惰符号绑定失败:找不到符号
- debuggingJavascript和潜入Nodejs c + +代码
- 用混合的C / C ++源文件构build一个NodeJS插件
- 在.NET中使用C#可以在没有multithreading的情况下实现基于事件的asynchronous模式吗?