зависимости библиотеки node-gyp link во время сборки
Мой nodejs
аддон использует библиотеку cares
, а мой binding.gyp
имеет атрибут dependencies
, который указывает на это. Теперь всякий раз, когда мне нужно запустить addon
, я должен экспортировать переменную LD_LIBRARY_PATH
.
Есть ли способ настроить это в binding.gyp
так, чтобы каждый раз мне не нужно было устанавливать LD_LIBRARY_PATH
. (Связывание во время сборки)
Установка зависимостей в привязке.джип: "dependencies": [ "deps/cares/cares.gyp:cares" ]
Ex export: export LD_LIBRARY_PATH=build/Release
3 ответа:
Мой ответ на Как добавить зависимость в статическую библиотеку в привязке.gyp node-gyp для узла.расширение js , похоже, применимо и здесь, и должно быть кроссплатформенным.
Короче говоря, он используетmodule_root_dir
и строит абсолютный путь. Пример:"libraries": [ "-lcares", "-L<(module_root_dir)/build/Release/" ]
Мне удалось получить относительный путь в Ubuntu & Debian, используя следующую строку
binding.gyp
:"libraries": [ "../lib/somelib/somelib.a" ]
Моя структура папок выглядит следующим образом:
|--binding.gyp |--app.cc |--lib |--somelib |--somelib.a
Я получил метод (несколько косвенно) отсюда: https://github.com/nodejs/node-gyp/issues/49