2017-01-18 3 views
0

Я пытаюсь скомпилировать пример узлового-аддон, взятый из:Узел Аддон узла-лавочка сборка отсутствует V8 DLL файлы

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

Я пытаюсь сделать это в системе в автономном режиме.

Я указал узел-gyp на локальный источник узла, используя -nodedir.

Моя проблема: я получаю загрузку ошибок компоновщика (всего 9), когда я прихожу к сборке node-gyp.

1>hello.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class v8::Isolate * __cdecl v8::Isolate::GetCurrent(void)" ([email protected]@[email protected]@[email protected]) 

и я действительно не понимаю, почему.

Из того, что я понимаю, ошибка говорит мне, что файл заголовка, который я использую (v8.h), нуждается в dll.

Я построил как источник узла, так и источник v8, и я не могу найти какие-либо DLL-файлы, просто кучу .lib-файлов в узле ... \ build \ release \ libs.

Я думаю, что это может иметь какое-то отношение к BUILDING_V8_SHARED или USING_V8_SHARED, но не знает, как их установить.

Изменение флагов Visual Studio в свойствах ничего не делает.

Я использую узел v6.9.4 с VS 2015 на окнах 7

Благодаря

ответ

0

Оказывается, это не имеет ничего общего с библиотеками v8! Проблема заключалась в том, что Visual Studio Solution не скомпилировалось с файлом node.lib, созданным при создании node.js из источника. часть .dll была немного красной селедки!

Чтобы обойти это, я построил его на системе, подключенной к Интернету, и скопировал ее в папку .node-gyp (где он хранит загруженный .lib-файл и заголовки) и связан с этим.

Я не знаю, почему я не могу связать с .lib, который я построил, но сообщит вам, если я узнаю.

Смежные вопросы