文档章节

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

Rksi5
 Rksi5
发布于 2014/03/04 16:54
字数 360
阅读 463
收藏 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
结合源码分析 Node.js 模块加载与运行原理

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

技术小能手
08/17
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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
32分钟前
3
0
invalid character found in the request target 异常

这个异常时因为Tomcat 9不支持请求格式出现“{”等非法字符的问题 因为tomcat版本问题遇到的坑,记录一下。 问题 今天由于要测试一下订单详情页的异步查询,在本地起了一个服务,发送的请求是...

edwardGe
36分钟前
4
0
发现抓包软件fiddler的bug

1个请求他跳转之后,直接400,被拦在了Apache,使用fiddler 的,replay requests 是同样的结果,但是replay composer确是正常的。 也就是说这replay requests 是发原来的包,replay composer...

NLGBZJ
46分钟前
1
0
linux screen 命令详解

shell关闭后, 主机仍然运行 screen命令 启动jenkins以后, screen, 然后按ctrl+a 再按d 这样暂停了子界面, 这时候回到了父界面 用screen –ls查看目前子界面的状态 [root@free /]# screen -l...

SuShine
47分钟前
4
0
mac机器切换无线网络导致网页不能打开的问题

问题: 公司和家里使用不同的WI-FI,每次从家到公司时自动切换网络后,公司的许多地址不能访问, ping域名是可以ping同的,但是网页却打不开... 问题分析: 初步猜想是DNS缓存的问题? 对于MAC系统没...

Lennie002
50分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部