In binding.gyp
möchte ich wie folgt festgelegt:Mit Knoten gyp Vordefinierte Variable PRODUCT_DIR
"libraries": [ "-Wl,-rpath,<working directory>/build/Release/" ]
ich die folgende Konfiguration verwende das gleiche zu tun:
"libraries": [ "-Wl,-rpath,<!(pwd)/build/Release/" ]
Dies funktioniert aber das Problem dabei ist, dass es nicht unter Windows oder wo auch immer pwd
nicht verfügbar ist und auch dies ist nicht die beste Option, da es bereits eine vordefinierte var iable PRODUCT_DIR
verfügbar in node-gyp
, um dies zu erreichen. Seltsamerweise kann ich diese Variable PRODUCT_DIR
nicht verwenden.
Ich versuchte folgende Optionen, aber kein Glück. Fehler sagt Library not loaded: @rpath/<lib>.dylib
(rpath nicht gesetzt zu werden):
"libraries": [ "-Wl,-rpath,>(PRODUCT_DIR)/build/Release/" ]
"libraries": [ "-Wl,-rpath,<(PRODUCT_DIR)/build/Release/" ]
"libraries": [ "-Wl,-rpath,>(PRODUCT_DIR)"]
"libraries": [ "-Wl,-rpath,<(PRODUCT_DIR)"]
Wenn ich Druck von "<!(echo <(PRODUCT_DIR) 1>&2)"
versucht, es sagt builddir: command not found
. Sieht so aus als hätte die Variable den Wert builddir. Soll nicht das Zielverzeichnis anstelle von Builddir gedruckt werden? oder builddir bedeutet etwas für Compiler?
Benutzt ich diese Variable nicht richtig oder gibt es eine andere Variable, die ich benutzen sollte?
Haben Sie versucht, $ (PRODUCT_DIR) '? Mögliches Duplikat von http://stackoverflow.com/questions/17023442/referring-to-environment-variables-from-binding-gyp-node-gyp –
Versucht aber kein Glück :(Wenn ich eine benutzerdefinierte Variable definieren kann ich zu benutzen '<(user_defined_variable_dir)' aber die vordefinierte Variable 'PRODUCT_DIR' funktioniert nicht –
Glücklicherweise funktioniert mein' Addon' auch ohne 'rpath' zu setzen :) Also für jetzt habe ich eine Bedingung und Einstellung' rpath' hinzugefügt durch Ausführen von 'pwd' wobei' "OS! = 'win'" '. https://github.com/royalpinto/node-cares/blob/master/binding.gyp –