2015-04-21 19 views
12

Il mio addon nodejs utilizza la libreria cares e il mio binding.gyp ha l'attributo dependencies che punta a questo. Ora ogni volta che devo eseguire addon, devo esportare variabile LD_LIBRARY_PATH.dipendenze della libreria collegamento nodo-gyp in fase di compilazione

C'è un modo per configurarlo in binding.gyp in modo che ogni volta non sia necessario impostare LD_LIBRARY_PATH. (Collegamento al momento della compilazione)

impostazione Dipendenza in binding.gyp: "dependencies": [ "deps/cares/cares.gyp:cares" ]

Es esportazione: export LD_LIBRARY_PATH=build/Release

+0

Possibilmente relativa a http://stackoverflow.com/a/16216870/1938163 –

+0

@MarcoA. Sì. Ho provato l'opzione 'libraries' -L con percorso relativo e assoluto ma senza fortuna :( –

+0

Questo è il messaggio di errore che sto ottenendo:' Libreria non caricata: @ rpath/cares.dylib' –

risposta

7

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

Ha lavorato per me su Mac e Linux (Ubuntu).

+1

Better una "libreria": ["-Wl, -rpath,

1

Ho avuto successo l'ottenimento di un percorso relativo in Ubuntu & Debian utilizzando la seguente binding.gyp riga:

"libraries": [ "../lib/somelib/somelib.a" ] 

mia struttura di cartelle si presenta così:

|--binding.gyp 
|--app.cc 
|--lib 
    |--somelib 
     |--somelib.a 

ho ottenuto il metodo (un po 'indirettamente) da qui: https://github.com/nodejs/node-gyp/issues/49

Problemi correlati