В binding.gyp
Я хочу установить следующее:
"libraries": [ "-Wl,-rpath,<working directory>/build/Release/" ]
Я использую следующую конфигурацию, чтобы сделать то же самое:
"libraries": [ "-Wl,-rpath,<!(pwd)/build/Release/" ]
Это работает, но проблема заключается в том, что он не будет работать в Windows или везде, где pwd
недоступен, а также это не самый лучший вариант, поскольку уже существует предопределенная переменная PRODUCT_DIR
, доступная в node-gyp
для достижения этой цели. Странно я не могу использовать эту переменную PRODUCT_DIR
.
Я пробовал следующие варианты, но не повезло. error говорит Library not loaded: @rpath/<lib>.dylib
(rpath не устанавливается):
-
"libraries": [ "-Wl,-rpath,>(PRODUCT_DIR)/build/Release/" ]
-
"libraries": [ "-Wl,-rpath,<(PRODUCT_DIR)/build/Release/" ]
-
"libraries": [ "-Wl,-rpath,>(PRODUCT_DIR)"]
-
"libraries": [ "-Wl,-rpath,<(PRODUCT_DIR)"]
Когда я попробовал распечатать "<!(echo <(PRODUCT_DIR) 1>&2)"
, он говорит builddir: command not found
. Похоже, переменная имеет значение builddir.
Не следует ли печатать целевой каталог вместо builddir? или builddir означает что-то для компилятора?
Я не использую эту переменную должным образом или есть какая-либо другая переменная, которую я должен использовать?