1

code::blocks を使用して、ubuntu でノード C++ アドオンを構築しようとしています。別の共有ライブラリ dep.so に依存する addon.node 共有ライブラリを構築しました。私の基本的なjsファイルを作成するとき

var addon = require(./addon.node);

それは与えます

Error: dep.so: cannot open shared object file: No such file or directory
   at Error (native)
   at Module.load (module.js:357:32)
   at Function.Module._load (module.js:312:12)
   at Module.require (module.js:367:17)
   at require (module.js:386:17)
   at repl:1:13
   at REPLServer.defaultEval (repl.js:130:27)
   at bound (domain.js:254:14)
   at REPLServer.runBound [as eval] (domain.js:267:12)
   at REPLServer.<anonymous> (repl.js:277:12)

私の dep.so ファイルは、addon.node のビルド中に含まれ、addon.node と同じビルド ディレクトリに存在します。

ld addon.node を実行すると (特に) 与えられます

ld: warning: dep.so, needed by addon.node, not found (try using -rpath or -rpath-link)
ld: warning: cannot find entry symbol _start; not setting start address
addon.node: undefined reference to `v8::ObjectTemplate::SetInternalFieldCount(int)'

そのため、2 つの問題があるようです: 1) 自分で作成した dep.so ライブラリが見つからない 2) v8 ライブラリが見つからない (これは何らかの方法でビルドする必要があると思います)

これを機能させる方法はありますか?

乾杯、マイク

4

1 に答える 1