我正在尝试编译取自:
的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
由于
答案 0 :(得分:0)
原来这与v8库无关!问题是当我从源构建node.js时,Visual Studio解决方案将使用创建的node.lib文件进行编译。 .dll部分有点像红鲱鱼!
为了解决这个问题,我在连接到互联网的系统上构建了它,并将其复制到.node-gyp文件夹中的文件夹(存储下载的.lib文件和标题)并链接到该文件夹。
我不知道为什么我无法链接到我建立的.lib,但如果我发现了,我会告诉您。