2015-04-21 13 views
12

My nodejs sử dụng addon cares thư viện và binding.gyp có thuộc tính trỏ đến điều này. Bây giờ bất cứ khi nào tôi phải chạy addon, tôi phải xuất biến số LD_LIBRARY_PATH.phụ thuộc thư viện liên kết nút-gyp tại thời điểm xây dựng

Có cách nào tôi có thể định cấu hình điều này trong binding.gyp để mỗi lần tôi không phải đặt LD_LIBRARY_PATH. (Liên kết tại thời gian xây dựng)

thiết lập phụ thuộc vào binding.gyp: "dependencies": [ "deps/cares/cares.gyp:cares" ]

Ex xuất khẩu: export LD_LIBRARY_PATH=build/Release

+0

Có thể liên quan đến http://stackoverflow.com/a/16216870/1938163 –

+0

@MarcoA. Vâng. Tôi đã thử 'thư viện' -L tùy chọn với cả hai con đường tương đối và tuyệt đối nhưng không may mắn: ( –

+0

Đây là thông báo lỗi tôi nhận được:' Thư viện không được tải: @ rpath/cares.dylib' –

Trả lời

7

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

Làm việc đối với tôi trên Mac cũng như Linux (Ubuntu).

+1

Tốt hơn một "" thư viện ": [" -Wl, -rpath,

1

Tôi đã thành công được một đường dẫn tương đối trong Ubuntu & Debian sử dụng binding.gyp dòng sau:

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

cấu trúc thư mục của tôi trông như thế này:

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

tôi có phương pháp (hơi gián tiếp) từ đây: https://github.com/nodejs/node-gyp/issues/49

Các vấn đề liên quan