【发布时间】:2014-06-30 09:39:56
【问题描述】:
我正在尝试使用 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)'
所以,看来我有两个问题: 1) 找不到我自己创建的 dep.so 库 2)它找不到v8库(我想这需要以某种方式构建)
有什么建议可以让它工作吗?
干杯,迈克
【问题讨论】:
标签: c++ node.js linker v8 node.js-addon