Node -gpp-зависимые библиотеки ссылок во время сборки

My nodejs addon использует библиотеку cares, а мой binding.gyp имеет атрибут dependencies, который указывает на это. Теперь, когда мне нужно запустить addon, мне нужно экспортировать переменную LD_LIBRARY_PATH.

Есть ли способ настроить это в binding.gyp, чтобы каждый раз, когда мне не нужно было устанавливать LD_LIBRARY_PATH. (Связывание во время сборки)

Настройка зависимостей в binding.gyp: "dependencies": [ "deps/cares/cares.gyp:cares" ]

Экспорт Ex: export LD_LIBRARY_PATH=build/Release

Ответ 1

"libraries": [ "-Wl,-rpath,./build/Release/" ]

Работал для меня на Mac, а также на Linux (Ubuntu).

Ответ 3

Мне удалось получить относительный путь в 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