文档章节

初探nodejs的c++ addons问题汇总

Rksi5
 Rksi5
发布于 2014/03/04 16:54
字数 360
阅读 468
收藏 0

参考官网手册一步步探摸索c++模块 和 v8,环境是ubuntu,碰到如下问题:

1、要写C++模块,必须先搭建一个环境,node-gyp命令是必须

    npm install -g node-gyp

发现发现通过网络代理进行下载,解决办法就是修改npm registry

     npm config set registry "http://registry.npmjs.org/"


2、按照官网手册执行如下命令

    node-gyp configure

    node-gyp build

执行后面命令时,出现错误:

make:进入目录'/home/llzeng/pro/nodejs/build'
  CXX(target) Release/obj.target/hello/hello.o
../hello.cc:6:28: 错误: ‘Argument’不是一个类型名
../hello.cc:6:38: 错误: ISO C++ 不允许声明无类型的‘args’ [-fpermissive]
../hello.cc: 在函数‘void init(v8::Handle<v8::Object>)’中:
../hello.cc:13:32: 错误: 从类型‘v8::Handle<v8::Value> (*)(const int&)’到类型‘v8::InvocationCallback {aka v8::Handle<v8::Value> (*)(const v8::Arguments&)}’的转换无效 [-fpermissive]
/home/llzeng/.node-gyp/0.10.26/deps/v8/include/v8.h:2255:34: 错误:   初始化‘static v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::InvocationCallback, v8::Handle<v8::Value>, v8::Handle<v8::Signature>)’的实参 1 [-fpermissive]
make: *** [Release/obj.target/hello/hello.o] 错误 1
make:离开目录“/home/llzeng/pro/nodejs/build”
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Linux 3.2.0-59-generic
gyp ERR! command "node" "/usr/local/bin/node-gyp" "build"
gyp ERR! cwd /home/llzeng/pro/nodejs
gyp ERR! node -v v0.10.26
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok


© 著作权归作者所有

共有 人打赏支持
Rksi5
粉丝 1
博文 41
码字总数 50463
作品 0
深圳
程序员
Node.js C++扩展实现

因为有了Node.js,JavaScript可以被用于服务端编程。通过各种扩展,Node.js可以变得非常强大。今天分享下怎样用C++创建Node.js扩展。 参考原文:Making Dynamsoft Barcode SDK an Addon for...

yushulx
2015/06/02
0
0
Node.js C++ addon编写实战(四)之兼容v0.11+与nan模块

前面三篇介绍文章: Node.js C++ addon编写实战(一)之node-gyp Node.js C++ addon编写实战(二)之对象转换 Node.js C++ addon编写实战(三)之Buffer node v0.11+ 的变化 Node.js 日趋成熟...

冬瓜1
2013/12/31
0
0
JavaScript条形码SDK比较:Node.js C/C++扩展 vs WebAssembly

高性能的算法库通常都是用C/C++编写。当你想要用JavaScript来开发条形码商业应用,你有两个选择:1.通过node-gyp来编译一个Node.js C/C++扩展。2.把C/C++代码编译成WebAssembly。这里基于Dyn...

yushulx
08/14
0
0
nodejs的C++扩展中实现异步回调

在nodejs的官方网站中有关于C++扩展的详细说明,其中包含了从"hello world"到对象封装的一系列示例。其中的“callback”节是关于回调函数的,美中不足的是,这个回调是阻塞的回调。 官方示例...

GZShi_alpha
2014/07/01
0
2
结合源码分析 Node.js 模块加载与运行原理

Node.js 的出现,让 JavaScript 脱离了浏览器的束缚,进入了广阔的服务端开发领域。而 Node.js 对 CommonJS 模块化规范的引入,则更是让 JavaScript成为了一门真正能够适应大型工程的语言。 ...

技术小能手
08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
26
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部