Я написал собственный аддон для node.js, скомпилировал его с помощью MSVC++ без узла -gyp и успешно использовал его на узле REPL и в приложении. Я использую узел x64 и компилирую надстройку x64. Я пытаюсь собрать эту вещь с помощью node -gyp. Я получил node -gyp для создания решения Visual Studio и его компиляции, но выходящий аддон не работает. Единственная ошибка, которую я получаю, это:
Error: The specified procedure could not be found.
at Object.Module._extensions..node (module.js:480:11)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at repl:1:13
at REPLServer.self.eval (repl.js:111:21)
at rli.on.e (repl.js:260:20)
at REPLServer.self.eval (repl.js:118:5)
at Interface.<anonymous> (repl.js:250:12)
Когда я запускаю скрипт, который пытается загрузить аддон, я получаю это:
module.js:480
process.dlopen(filename, module.exports);
^
Error: The specified procedure could not be found.
at Object.Module._extensions..node (module.js:480:11)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (c:\blah\testheaders.js:1:75)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
Я узнал, что dlopen как-то связан с загрузкой динамических библиотек в Linux, но не могу найти никакой полезной информации, относящейся к узлу (, в частности, в Windows. ). Этот аддон требует некоторых сторонних -dll, но они есть на моем пути, и опять же, аддон работает нормально, когда я компилирую его без узла -gyp.
Что мне нужно сделать, чтобы понять, как заставить это работать?