Node Addon node-gyp构建缺少的V8 dll' s

时间:2017-01-18 15:45:15

标签: c++ v8 node-gyp embedded-v8 node.js-addon

我正在尝试编译取自:

的node-addon示例

https://nodejs.org/dist/latest-v6.x/docs/api/addons.html

我正试图在离线系统上进行此操作。

我已经使用-nodedir将node-gyp配置指向本地节点源。

我的问题是当我来到node-gyp构建时,我遇到了大量的链接器错误(总共9个)。

1>hello.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class v8::Isolate * __cdecl v8::Isolate::GetCurrent(void)" (__imp_?GetCurrent@Isolate@v8@@SAPEAV12@XZ)

我真的不明白为什么。

根据我的理解,错误告诉我使用(v8.h)的头文件需要一个dll。

我已经构建了节点源和v8源代码,我找不到任何dll,只是节点... \ build \ release \ libs中的一堆.lib文件。

我认为它可能与BUILDING_V8_SHARED或USING_V8_SHARED有关,但不确定如何设置它们。

更改属性中的Visual Studio标志不会执行任何操作。

我在Windows 7上使用VS6的节点v6.9.4

由于

1 个答案:

答案 0 :(得分:0)

原来这与v8库无关!问题是当我从源构建node.js时,Visual Studio解决方案将使用创建的node.lib文件进行编译。 .dll部分有点像红鲱鱼!

为了解决这个问题,我在连接到互联网的系统上构建了它,并将其复制到.node-gyp文件夹中的文件夹(存储下载的.lib文件和标题)并链接到该文件夹​​。

我不知道为什么我无法链接到我建立的.lib,但如果我发现了,我会告诉您。