Ошибка, когда мне требуется Native Addon C ++ от электрона, который работает с плавником из Node.js
Недавно я разработал свой первый собственный C ++ Addon для узла, который отлично работает с моим проектом узла (версия узла 10.15.0)
Аддон был построен с использованием XCode, проект которого генерировался с использованием CMake.
У меня возникает следующая ошибка, когда я использую то же самое собственное дополнение C ++ из моего приложения Electron.
dyld: ленивая привязка символа не выполнена: символ не найден: __ZN2v816 FunctionTemplate 3 Новый EPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalISINE_SignEEEEEEEEEIEEEIEBeE_eE
Ссылка на: /Users/vicentvidal/Documents/Desarrollo/DASNet2/dasaudio/build/DASNetAddon.node
Ожидается в: плоское пространство имен
Dyld: символ не найден
Ссылка на: /Users/vicentvidal/Documents/Desarrollo/DASNet2/dasaudio/build/DASNetAddon.node
Ожидается в: плоское пространство имен
Как я вижу, проблема возникает только тогда, когда я звоню из приложения Electron
const addon = require ('bindings') ('DASNetAddon');
, который вызывает следующий код C ++
static NAN_MODULE_INIT(Init) {
v8::Local<v8::FunctionTemplate> tpl = Nan::New<v8::FunctionTemplate>(New);
tpl->SetClassName(Nan::New("StreamingWorker").ToLocalChecked());
tpl->InstanceTemplate()->SetInternalFieldCount(2);
SetPrototypeMethod(tpl, "sendToAddon", sendToAddon);
constructor().Reset(Nan::GetFunction(tpl).ToLocalChecked());
Nan::Set(target, Nan::New("StreamingWorker").ToLocalChecked(),
Nan::GetFunction(tpl).ToLocalChecked());
}
My Electron версия 3.0.10
Моя Нэн версия 2.12.1
Мои привязки версия 1.3.1
У кого-нибудь есть предложения?