在window7下用法C++来给node.js编写扩展模块的方法_.docx

上传人:scccc 文档编号:11322357 上传时间:2021-07-23 格式:DOCX 页数:4 大小:12.68KB
返回 下载 相关 举报
在window7下用法C++来给node.js编写扩展模块的方法_.docx_第1页
第1页 / 共4页
在window7下用法C++来给node.js编写扩展模块的方法_.docx_第2页
第2页 / 共4页
在window7下用法C++来给node.js编写扩展模块的方法_.docx_第3页
第3页 / 共4页
在window7下用法C++来给node.js编写扩展模块的方法_.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《在window7下用法C++来给node.js编写扩展模块的方法_.docx》由会员分享,可在线阅读,更多相关《在window7下用法C++来给node.js编写扩展模块的方法_.docx(4页珍藏版)》请在三一文库上搜索。

1、在window7下用法C+来给node.js编写扩展模块的方法_ 在window7下用法C+来给node.js编写扩展模块的方法 本文给大家介绍的是在window7下用法C+来给node.js编写扩展模块的方法,附上一个简洁的hello实例,有需要的小伙伴可以参考下。 前提: 安装好node.js、Python2.7与visual studio 2021。 过程: 首先安装GYP项目生成工具,npm install -g node-gyp 。 建立test名目,这是我们的工作名目,在此名目下再建一个src名目,用来存放C+源代码,另新建一个名为binding.gyp的文本文件,这是gyp的项目

2、文件,内容如下: 代码如下: targets: target_name:hello, sources:src/hello.cc 再写一个简洁的hello.cc,内容如下: #include node.h using namespace v8; HandleValue Hello(const Arguments args) HandleScope scope; return scope.Close(String:New(Hello world!); void init(HandleObject target) NODE_SET_METHOD(target, hello, Hello); NODE

3、_MODULE(hello, init) 然后运行指令: node-gyp configure 假如正确运行的话,会消失一个名目-build,其下为你生成了vs2021的项目文件,这样就可以在vs2021中进行编辑与编译了。 当然也可以挺直用指令 node-gyp build进行编译。 测试js程序如下: 代码如下: var hello = require(./hello); console.log(hello.hello(); 其中遇到了一些问题,记录如下: 1、C:UsersAdministrator.node-gyp0.10.33这个名目下,没有默认Debug名目,在vs2021中编译成

4、debug文件时会提示 error LNK1104: cannot open file C:UsersAdministrator.node-gyp0.10.33Debugnode.lib ,建立一个Debug名目,把与你操作系统环境相同的名目下的node.lib拷贝到其中就好了。 2、NODE_MODULE(hello, init)中的hello是模块名,需要与文件名保持全都,不然编译没问题,运行时会出错。由于在require(./hello.node)时,既去找相应的文件,也匹配对应的MODULE。 3、我是对应着朴灵的深化浅出node.js这本书,并参考一些网页进行学习的,书给出的gyp项目文件中有一个conditions项,libraries : -lnode.lib ,由于这一句,编译时始终报错:cant open node.lib,明明文件是存在的,但就是报错,找了许多资料,也没解决,后来我把node.lib挺直拷贝到工作名目下,用指令行编译胜利了!但在vs2021中,错误还是照旧,我怎么想都不对,最终上官网,发觉人家的例子都没有给出这种参数,我就试着把这个东东删除了,结果一切OK!大神们,谁能给出一个正确的说明?! 以上所述上就是本文的全部内容了,盼望大家能够喜爱。 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1