试图让于Node.js的Hello World本机模块
有一个Win32项目在VS 2012的一个文件:
#include <node.h>
#include <v8.h>
using namespace v8;
Handle<Value> Method(const Arguments& args) {
HandleScope scope;
return scope.Close(String::New("world"));
}
void init(Handle<Object> target) {
target->Set(String::NewSymbol("hello"),
FunctionTemplate::New(Method)->GetFunction());
}
NODE_MODULE(hello, init)
That`s编译为hello.node。
选项:
- 动态库文件(.dll)
- 没有共同语言运行库支持
使用它,如:
hello = require './hello'
console.log hello.hello()
它的工作原理本地机器上(win8的64位,节点:0.8.12)
但在远程服务器(Windows Server 2008 x64的节点:0.8.12,iisnode:0.1.21版x64,IIS7)它抛出这个错误:
应用程序已抛出未捕获的异常而终止:错误:
%1不是有效的Win32应用程序。C:\的Inetpub \测试\ LIB \服务器\ hello.node
在Object.Module._extensions..node(module.js:485:11)
在Module.load(module.js:356:32)
在Function.Module._load(module.js:312:12)
在Module.require(module.js:362:17)
在要求(module.js:378:17)
在对象。 (C:\的Inetpub \测试\ lib中\服务器\ index.js:32:9)
在Module._compile(module.js:449:26)
在Object.Module._extensions..js(module.js:467:10)
在Module.load(module.js:356:32)
在Function.Module._load(module.js:312:12)
什么我tryed:
与应用程序池的设置(启用的Win32应用程序)打不帮助。
Iisnode 86并不在x64操作系统上安装。
`吨编译成因为错误的64:错误2错误LNK1112:模块机器类型“X86”与目标机器类型冲突“64” C:\德比\你好\构建\ node.lib(node.exe)喂
有没有人有什么建议?