зависимости библиотеки 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