Ошибка связывания Dynami c при использовании dylib в модуле узла - PullRequest
0 голосов
/ 23 января 2020

Я создал файл dylib и обернул этот файл модулем узла. Когда я пытаюсь загрузить файл dylib, я получаю сообщение об ошибке

Ошибка: Dynami c Ошибка соединения: dlopen (./ lib / myLib.dylib, 2): изображение не найдено

I загрузить lib следующим образом:

import * as ffi from 'ffi';

const lib = ffi.Library('./lib/myLib.dylib', {
    'functionName': ['string', ['string']]
});

Когда я запускаю этот код (скомпилированный в js) непосредственно в проекте cd src && node index.js (узел src / index. js не работает) может загрузить библиотеку.

Оборачивая ее в модуль узла и используя ее в другом проекте, библиотека не может быть нашел больше. Я пытался добавить binding.gyp :

{
  "targets": [
    {
      "target_name": "myLib.dylib",
      "sources": [ "dist/lib/myLib.dylib" ]
    }
  ],
  "link_settings": {
        "libraries": [
            "-Wl,-rpath,@loader_path/dist/lib/"
        ],
    }
}

или использовать install_name_tool

install_name_tool --rpath [absolute/path/to/lib/in/new/project] [absolute/path/to/lib/in/new/project] myLib.dylib

Но ничего не сработало.

...