2017-02-28 4 views
2

node-gypを使用してnode.js C++を構築しようとしていますが、ノードからロードしたときに見つかるように-Wl,-rpath,$ORIGINを指定する方法がわかりませんaddon.nodeと同じディレクトリにある共有オブジェクトライブラリ。相対位置を持つ共有ライブラリに依存してnodejs C++ addonを構築する方法

私はこのように私のbinding.gypを設定しようとしている:

"libraries": [ 
      "-L../../install_release_x64/", 
      "-llibppp" 
     ], 
     "ldflags": [ 
      "-Wl,-rpath,'$ORIGIN'" 
     ], 
     "cflags_cc": [ 
      "-fexceptions", 
      "-fPIC", 
      "-Wno-unknown-pragmas" 
     ] 

が、私は$ readelf -d addon.nodeを実行すると、結果はこのようなものです:

Dynamic section at offset 0x7d10 contains 29 entries: 
Tag  Type       Name/Value 
0x0000000000000001 (NEEDED)    Shared library: [liblibppp.so] 
0x0000000000000001 (NEEDED)    Shared library: [libstdc++.so.6] 
0x0000000000000001 (NEEDED)    Shared library: [libgcc_s.so.1] 
0x0000000000000001 (NEEDED)    Shared library: [libc.so.6] 
0x000000000000000e (SONAME)    Library soname: [addon.node] 
0x000000000000000f (RPATH)    Library rpath: [RIGIN] 
0x000000000000000c (INIT)    0x37a0 

期待される結果は何Library rpath: [$ORIGIN]

任意のアイデアですnode-gypは私の$ORIGINという特別なキーワードですか?

"ldflags": [ 
    "-Wl,-rpath,'$$ORIGIN'" 
], 

期待のように今では動作します:

答えて

1

は、私はこのようにそれを逃れるために持っているように見えます。

関連する問題