В binding.gyp
я хочу установить так:
"libraries": [ "-Wl,-rpath,<working directory>/build/Release/" ]
Я использую следующую конфигурацию, чтобы сделать то же самое:
"libraries": [ "-Wl,-rpath,<!(pwd)/build/Release/" ]
Это работает, но проблема в том, что это не будет работать в Windows или там, где pwd
недоступен, а также это не лучший вариант, поскольку для этого уже есть предопределенная переменная PRODUCT_DIR
, доступная в node-gyp
. Странно, я не могу использовать эту переменную PRODUCT_DIR
.
Я пробовал следующие варианты, но не повезло. ошибка говорит 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 означает что-то для компилятора?
Я неправильно использую эту переменную или есть какая-то другая доступная переменная, которую я должен использовать?
$(PRODUCT_DIR)
? Возможный дубликат stackoverflow.com/questions/17023442/ - person Lovell Fuller   schedule 13.05.2015<(user_defined_variable_dir)
, но предопределенная переменнаяPRODUCT_DIR
не работает. - person Royal Pinto   schedule 13.05.2015addon
работает даже без установкиrpath
:) Так что пока я добавил условие и настройкуrpath
, выполнивpwd
, где"OS!='win'"
. github.com/royalpinto/node-cares/blob/master/binding. гып - person Royal Pinto   schedule 13.05.2015