构建时的节点-gyp 链接库依赖项
node-gyp link library dependencies at build time
我的nodejs
插件使用cares
库,我的binding.gyp
dependencies
指向此的属性。现在每当我必须运行addon
时,我都必须导出LD_LIBRARY_PATH
变量。
有没有办法我可以在binding.gyp
中配置它,这样每次我都不必设置LD_LIBRARY_PATH
.(在构建时链接)
绑定.gyp 中的依赖项设置:"dependencies": [ "deps/cares/cares.gyp:cares" ]
出口:export LD_LIBRARY_PATH=build/Release
"libraries": [ "-Wl,-rpath,./build/Release/" ]
在Mac和Linux(Ubuntu)上为我工作。
我对如何在 binding.gyp node-gyp for node.js 扩展中添加对静态库的依赖的回答似乎也适用于这里,并且应该是跨平台的。
简而言之,它使用module_root_dir
并构建绝对路径。例:
"libraries": [
"-lcares",
"-L<(module_root_dir)/build/Release/"
]
我使用以下binding.gyp
行成功地在 Ubuntu 和 Debian 中获取了相对路径:
"libraries": [ "../lib/somelib/somelib.a" ]
我的文件夹结构如下所示:
|--binding.gyp
|--app.cc
|--lib
|--somelib
|--somelib.a
我从这里得到了方法(有点间接):https://github.com/nodejs/node-gyp/issues/49
相关文章:
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 使用Bazel构建具有不同编译器/链接器选项的C/C++依赖关系
- 在链接可执行文件之前查找静态库未解析的依赖项
- aarch64动态链接器rpath使用辅助依赖链接
- 链接二进制库或共享库时,为什么必须传入我依赖的共享库?
- 单独库中的类成员函数定义和链接依赖项
- 可视C++ - 从链接器>输入>其他依赖项中排除文件
- 链接共享库依赖项未在 ldd 中列出
- 您如何将所有链接依赖项都包装到一个Linux静态库中
- 模板或链接接缝依赖注入有哪些替代方案来测试非虚拟方法?
- 使用C 中的链接seam break static变量依赖关系
- GHC 不链接依赖项
- C++ 生成文件不编译依赖项/链接错误?
- 模型依赖关系目标,在运行时链接
- 视觉如何引用部署与2015 C 链接库依赖关系
- 将库与NuGet包链接为Visual Studio中的依赖项
- Cmake不会将共享库的链接依赖关系传播到我的可执行文件
- 链接自身依赖于静态库的静态库时未定义的引用
- 如何在二进制文件中包含共享库依赖项(不使用.deb或.rpm)和/或针对PulseAudio的静态链接