Библиотека узла не загружена: /usr/local/lib/libmtp.9.dylib - PullRequest
0 голосов
/ 24 января 2020

Я пытался создать nodejs -рожденный аддон, который использует libmtp для выполнения определенных функций. Я успешно создал приложение, но оно выдает ошибку Library not loaded: /usr/local/lib/libmtp.9.dylib. Referenced from: /path/build/Debug/nbind.node. Reason: image not found, когда я пытаюсь запустить его на другом MacBook, где не установлена ​​библиотека libmtp.

Это мой binding.gyp file:

{
  "targets": [
    {
      "includes": [
        "auto.gypi"
      ],
      "sources": [
        "src/native/mtp.cc"
      ],
      "link_settings": {
        "libraries": [
            "-lmtp"
        ],
      },
    }
  ],
  "includes": [
    "auto-top.gypi"
  ],
}

Я даже пытался включить файл dylib в параметр библиотеки

"link_settings": {
    "libraries": [
      "<(module_root_dir)/src/native/lib/libmtp.9.dylib"
    ]
}

, но приложение не запускается с ошибкой Library not loaded: /usr/local/lib/libmtp.9.dylib. Referenced from: /path/build/Debug/nbind.node. Reason: image not found.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 24 января 2020

Ошибка указывает, что библиотека libmtp.9.dylib не может быть найдена в стандартной библиотеке, включая путь /usr/local/lib Попробуйте установить переменную среды LD_LIBRARY_PATH, чтобы она указывала на местоположение, где у вас есть libmtp.9.dylib до запуска узла.

...