2015-10-02 44 views
0

我在Visual Studio中構建了節點,然後通過在Visual Studio項目中設置適當的路徑,成功地在.node擴展中編譯此代碼。錯誤:在C++中創建node.js庫時,%1不是有效的Win32應用程序

#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) 

} 

但是,當我打電話通過這個代碼這個模塊,

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

console.log(addon.hello()); 

我收到上述錯誤。請給出你的建議。

+0

*你如何建立你的擴展?它是什麼項目類型? –

+0

我建立它在視覺工作室,並作出擴展.node –

+1

你創建了一個* Windows EXE項目*,一個* Windows控制檯項目*,一個* DLL的項目*?還有別的嗎?靜態或動態鏈接? –

回答

0

在Visual Studio中編譯並將擴展名更改爲.node將不起作用。您需要使用node-gyp爲node.js配置和構建本地插件。看到這裏的指南:

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

提示:在運行node-gyp configure後,可以再打開.sln文件(構建/發佈/ binding.sln或建造/調試/ binding.sln)與Visual Studio。

相關問題