针对V8.编译NodeJs模块

Compiling NodeJs Module against V8

本文关键字:模块 NodeJs 编译 V8 针对      更新时间:2023-10-16

我知道最近有人问过我几次这个问题,但我在Ubuntu 13.04 上编译最简单的模块示例时遇到了链接器错误

受v8开发者网站的启发,我从源代码下载、编译并安装了nodejs和v8。

然后我尝试编译一个简单的v8示例:

g++hello_world.cc-o hello_world-Iinclude out/nature/obj.target/tools/gyp/libv8_snapshot.a-lpthread

我得到的链接器错误是:

未定义对`v8::HandleScope::~HandleScope()'的引用

以及v8名称空间内的其他名称空间。

有人知道我缺了哪个图书馆吗?我的路径中包含node.h和v8.h头文件。提前感谢您的帮助。

您应该使用node-gyp工具来构建本机插件。

npm install -g node-gyp

在插件的根目录中添加一个binding.gyp文件。查看此处以获取示例https://github.com/TooTallNate/node-gyp#the-绑定Gyp文件

然后-

node-gyp configure
node-gyp build