2015-04-21 19 views
12

Benim nodejs addon, cares kütüphanesini kullanıyor ve binding.gyp koduna göre bunu gösteren dependencies özniteliği var. Şimdi ne zaman addon çalıştırmak zorunda, ben LD_LIBRARY_PATH değişken vermek zorunda.node-gyp bağlantı kütüphanesi bağımlılıkları build time

numaralı belgede bunu yapılandırabilmem için, her seferinde LD_LIBRARY_PATH'u ayarlamak zorunda kalmam. binding.gyp içinde

Bağımlılık ayar (yapı anda Bağlama): "dependencies": [ "deps/cares/cares.gyp:cares" ]

Ör ihracat: Linux (Ubuntu) yanı sıra Mac benim için çalıştı export LD_LIBRARY_PATH=build/Release

+0

Muhtemelen http://stackoverflow.com/a/16216870/1938163 –

+0

@MarcoA ilişkin. Evet öyle. Ben kütüphaneler -L seçeneği göreceli ve mutlak yolu ama şans yok denedim :( –

+0

Bu alıyorum hata iletisi: 'Kütüphane yüklü değil: @ rpath/bakım.dylib ' –

cevap

7

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

.

+1

Daha İyi Bir "kütüphaneler": ["-Wl, -rpath,

1

Ben başarıyı aşağıdaki binding.gyp satırını kullanarak Ubuntu & Debian'daki göreli bir yol elde etmişler: biraz dolaylı (ı yöntemini var

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

:

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

Benim klasör yapısı şöyle Buradan: https://github.com/nodejs/node-gyp/issues/49