Ho scritto un addon nativo per node.js, lo ho compilato con MSVC++ senza node-gyp e l'ho usato con successo sul nodo REPL e in un'applicazione. Sto usando il nodo x64 e sto compilando un addon x64. Sto cercando di ottenere la cosa da costruire con node-gyp. Ho ottenuto node-gyp per generare una soluzione di Visual Studio e compilarlo, ma l'addon che viene fuori non funziona. L'unico errore che ottengo è questo:Impossibile caricare l'addon nativo di node.js se compilato con node-gyp, ma funziona con 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)
Quando eseguo uno script che tenta di caricare l'addon, ottengo questo:
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)
Ho imparato che dlopen ha qualcosa a che fare con il caricamento librerie dinamiche su Linux, ma non riesco a trovare alcuna informazione utile rilevante per il nodo (in particolare, su Windows.). Questo addon richiede alcune DLL di terze parti, ma sono sul mio percorso, e ancora una volta, l'addon funziona bene quando lo compilo senza node-gyp.
Cosa devo fare per capire come farlo funzionare?
Ah, sto avendo lo stesso identico problema! E questo, naturalmente, lo ha risolto. Grazie. :-) – blazs