0

最も簡単なタイプのNode.jsネイティブ拡張機能であるHelloWorldを実行できません。その理由は、わかりません。

ここで例を使用しています:http://nodejs.org/api/addons.html#addons_hello_world

node-gyprequire正常に実行されますが、ノードで実行しようとすると、エラーが発生します。

  エラー:引数が無効です
    Object..node(module.js:472:11)で
    Module.load(module.js:348:31)で
    Function._load(module.js:308:12)で
    Module.require(module.js:354:17)で
    必要に応じて(module.js:370:17)
    repl:1:13
    REPLServer.evalで(repl.js:80:21)
    repl.js:190:20で
    REPLServer.eval(repl.js:87:5)で
    インターフェイスで。(repl.js:182:12)

これは何ですか?ネイティブ拡張機能を使用しているときにこのようなエラーをデバッグするにはどうすればよいですか?

4

3 に答える 3

1

https://github.com/olalonde/node-notify

readmeにはすべてが説明されています。

于 2012-12-01T16:50:28.410 に答える
1

また、万が一この例に従っている場合: https://www.cloudkick.com/blog/2010/aug/23/writing-nodejs-native-extensions/

あなたが与える初期化関数はそうであってはNODE_MODULE ならないことに注意staticしてください!Node.js がモジュールを登録するために使用するイントロスペクション ライブラリまたはその他のメカニズムは、C の静的関数 (の名前) の読み取りをサポートしていないようです。

これが、同様の問題を抱えているすべての人に役立つことを願っています!

于 2012-07-10T22:57:24.080 に答える
1

initセクションをextern "C"ブロックでラップした後、明らかに例が機能するようになりました。

今はすべてが順調です。

于 2012-07-10T22:30:03.523 に答える