2015-10-02 2 views
0

J'ai créé un nœud dans Visual Studio puis, en définissant les chemins appropriés dans le projet Visual Studio, compilez ce code avec succès dans l'extension .node.erreur:% 1 n'est pas une application Win32 valide lors de la création de la bibliothèque node.js en C++

#include <node.h> 

namespace demo { 

    using v8::FunctionCallbackInfo; 
    using v8::Isolate; 
    using v8::Local; 
    using v8::Object; 
    using v8::String; 
    using v8::Value; 

    void Method(const FunctionCallbackInfo<Value>& args) { 
     Isolate* isolate = args.GetIsolate(); 
     args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world")); 
    } 

    void init(Local<Object> exports) { 
     NODE_SET_METHOD(exports, "hello", Method); 
    } 

    NODE_MODULE(addon, init) 

} 

Mais quand je fais appel de ce module à travers ce code,

var addon = require('./nodeExt'); 

console.log(addon.hello()); 

Je reçois l'erreur ci-dessus. s'il vous plaît donner vos suggestions.

+0

* Comment * construisez-vous votre extension? De quel type de projet s'agit-il? –

+0

je le construis en studio visuel et fais l'extension .node –

+1

Avez-vous créé un projet * windows exe *, un * projet de console windows *, un * dll procject *? Autre chose? Statiquement ou dynamiquement lié? –

Répondre

0

La construction dans Visual Studio et la modification de l'extension en .node ne fonctionneront pas. Vous devez utiliser node-gyp pour configurer et créer des addons natifs pour node.js. Consultez le guide ici:

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

Astuce: Après avoir exécuté node-gyp configure, vous pouvez ouvrir le fichier .sln (build/Release/ou binding.sln build/Debug/binding.sln) avec Visual Studio.