2017-01-18 2 views
0
dll V8

Je suis en train de compiler l'exemple de noeud-addon pris de:Noeud Addon build noeud-Gyp manquant

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

Je suis en train de le faire sur un système hors ligne.

Je l'ai signalé configure noeud-Gyp à une source locale de nœud à l'aide -nodedir.

Mon problème est que je reçois une charge d'erreurs de liaison (9 au total) quand je viens à construire noeud-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]) 

et je ne comprends pas vraiment pourquoi.

D'après ce que je comprends l'erreur me dit que le fichier d'en-tête j'utilise (v8.h) a besoin d'une dll.

J'ai construit à la fois la source du noeud et la source v8 et je ne trouve pas de DLL, juste un tas de fichiers .lib dans le noeud ... \ build \ release \ libs.

Je pense qu'il peut avoir quelque chose à voir avec BUILDING_V8_SHARED ni USING_V8_SHARED mais ne savez pas comment les régler.

Modification des drapeaux Visual Studio dans les propriétés ne fait rien.

J'utilise le noeud v6.9.4 avec VS 2015 sur Windows 7

Merci

Répondre

0

Il s'avère que cela n'a rien à voir avec les bibliothèques v8! Le problème était que la solution Visual Studio ne se compilait pas avec le fichier node.lib créé lorsque je construisais node.js à partir de la source. la partie .dll était un peu un hareng rouge! Pour le contourner, je l'ai construit sur un système connecté à Internet et copié sur le dossier dans le dossier .node-gyp (où il stocke le fichier .lib téléchargé et les en-têtes) et lié à cela.

Je ne sais pas pourquoi je ne peux pas se lier à la .lib j'avais construit, mais vous permettra de savoir si je trouve.