Ubuntu12.02 ARMv7 架构,安装node-gyp失败
大神助我!!!
用node-gyp工具实现nodejs调用C/C++代码 出现如下问题:
1:首先nodejs官网下载nodejs: node-v8.11.2-linux-armv7l.tar.gz 解压后添加环境变量。
2:GCC版本
3:安装node-gyp失败:用的taobao源。
4:用npm安装node-gyp失败之后,我发现在官方给的nodejs安装包里有node-gyp,于是将node-gyp添加到环境变量
5:编译后执行node test.js 没有输出
参照的例子:Node.js调用C/C++
三个文件:
binding.gyp
- {
- “targets”:[
- {
-
"target_name":"test",
-
"sources":["test.cc"]
- }
- ]
- }
- #include <node.h>
- #include <v8.h>
- using namespace v8;
- void hello(const FunctionCallbackInfo<Value>& args) {
- Isolate* isolate = Isolate::GetCurrent();
- HandleScope scope(isolate);
- if (args.Length() < 2 || !args[0]->IsString()) {
-
isolate->ThrowException(Exception::TypeError(
-
String::NewFromUtf8(isolate, "Wrong arguments")));
-
return;
- }
- Local<Function> callback = Local<Function>::Cast(args[1]);
- Local<Value> argv[1] = {
-
String::Concat(Local<String>::Cast(args[0]), String::NewFromUtf8(isolate, " world"))
- };
- callback->Call(isolate->GetCurrentContext()->Global(), 1, argv);
- }
- void init(Handle<Object> exports) {
- NODE_SET_METHOD(exports, “hello”, hello);
- }
- NODE_MODULE(test, init);
test.js
- var test=require(’./build/Release/test’);
- test.hello(‘test’,function(data){
- console.log(data);
- });