gpt4 book ai didi

c++ - NodeJS 和 N-API

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:42:08 25 4
gpt4 key购买 nike

我正在尝试编译和使用 N-API Node JS c++ 插件。代码编译正常,但在运行时出现以下错误:

module.js:664
return process.dlopen(module, path._makeLong(filename));
^

Error: Module did not self-register.
at Object.Module._extensions..node (module.js:664:18)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/johngorter/Desktop/WASM/index2.js:1:77)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)

奇怪的是,当我用“普通”C++ 插件代码(没有 N-API)替换 cc 代码时,一切正常。

我正在使用 NodeJS 8.9.2。

有人知道吗?

TIA,约翰。

最佳答案

您缺少一些看起来像这样的代码,这些代码需要注册您在 JavsScript 中提供的功能。

    Napi::Object Init( Napi::Env env, Napi::Object exports )
{
exports.Set(
Napi::String::New( env, "someFunctionName"),
Napi::Function::New( env, someFunctionName)
);

exports.Set(
Napi::String::New( env, "someOtherFunctionName"),
Napi::Function::New( env, someOtherFunctionName)
);

return exports;
}


NODE_API_MODULE( yourModuleName, Init );

关于c++ - NodeJS 和 N-API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47675931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com