将node-expat扩展编译至node.exe中
1、下载node源代码 https://github.com/joyent/node (v:0.10.25)
2、下载node-expat源代码 https://github.com/node-xmpp/node-expat
3、因为node-expat依赖于nan 所以将nan源代码也下载下来(目前尚不知道如何将nan依赖项去除掉) https://github.com/rvagg/nan
4、将nan项目中的 nan.h 复制到node项目src目录中并修改node.gyp文件,添加 src/nan.h 。

5、将node-expat项目deps文件夹中的libexpat复制到node项目的deps文件夹中,并修改node.gyp添加 deps/libexpat/libexpat.gyp:expat

6、将node-expat项目中的文件 node-expat.cc 复制到node项目src目录中,并将文件名改为 node_expat.cc ,修改node.gyp文件添加 src/node_expat.cc

7、将node-expat项目lib目录中的文件node-expat.js复制到node项目lib目录中,并将文件名改为 expat.js 。用文本编辑器打开 expat.js 文件修改源代码
var expat = require('../build/Release/node_expat.node');
改为
var expat = require('expat');
8、将引用添加至node.gyp中

9、用文本编辑器打开node项目中 src/node_extensions.h 文件,添加 NODE_EXT_LIST_ITEM(node_expat)

10、至此完成修改,运行node项目根目录文件 vcbuild.bat
`
`
漫长的等待后,生成成功。

11、运行生成的文件进行测试: Release\node.exe

注:编译环境为Windows 8,猜测在linux下也能通过编译,没有进行测试。
https://github.com/grj1046/nodejs-expat
将node-expat扩展编译至node.exe中的更多相关文章
- 用pecl/pear独立编译PHP扩展 vs. 把扩展编译到PHP内核中
将扩展编译到php内部的方式会提高php运行扩展的效率,但是每次需要新添加扩展时都需要把php以及之前添加的所有扩展重新编译一边,非常麻烦. 独立编译扩展,php外部调用扩展的方式虽然会牺牲一点点的性 ...
- Less-css预处理Node and VS扩展编译
node编译 第一步:https://nodejs.org/en/ 到node官网下载最新的node 第二步:和普通软件一样把node安装好 第三步:运行-cmd,准备安装less 全局安装(整个电 ...
- Centos6.4编译安装Node.js(已验证)
1.准备源文件包 [felix@MyTerminal Downloads]$ mv node-6.5.0 node [felix@MyTerminal Downloads]$ ls node node ...
- org.w3c.dom.Node.getTextContent()方法编译错误-已解决
org.w3c.dom.Node.getTextContent()方法编译错误. 在项目的Java Build Path | Order and Export选项卡中,将JRE System Libr ...
- Sublime3 配置node.js 环境 The process "node.exe" not found
配置中文显示调试结果 [下载地址](https://github.com/tanepiper/SublimeText-Nodejs) 1. 到上述地址下载压缩文件 2.将文件解压到sublime的插件 ...
- Node.js学习笔记(2) - Node.js安装及入门hello world
今天来简单的记录一下Node.js的安装配置以及简单的入门 一.Node.js的安装 1.windows下的安装 windows下的安装很简单,只需要去官网http://nodejs.org中,找到w ...
- Node.js入门教程:Node.js如何安装配置并部署第一个网站
前言:作为一个资深的前端开发人员,不懂的Node.js 那你绝对是不能跟别人说你是资深的前端程序猿滴! 今天洋哥就来和大家一起学习被大牛称之为前端必学的技能之一Node! 那么Node到底是什么呢? ...
- 【node】使用nvm管理node版本
写在前面 nvm(nodejs version manager)是nodejs的管理工具,如果你想快速更新node版本,并且不覆盖之前的版本:或者想要在不同的node版本之间进行切换: 使用nvm来安 ...
- node部署静态页面;node上线静态页面
node部署静态页面上线 静态页面上线可以采用 nginx, tomcat或者node ,我们这里介绍下node部署静态页面 这里采用最简单的上线方式,我们就不用node + express + ej ...
随机推荐
- Javascript语言精粹之String常用方法分析
Javascript语言精粹之String常用方法分析 1. String常用方法分析 1.1 String.prototype.slice() slice(start,end)方法复制string的 ...
- 京东评论情感分类器(基于bag-of-words模型)
京东评论情感分类器(基于bag-of-words模型) 近期在本来在研究paraVector模型,想拿bag-of-words来做对照. 数据集是京东的评论,经过人工挑选,选出一批正面和负面的评论. ...
- 再见,CSDN
这是第三次的博客, 首先是从百度改变自己 从他的变化二CSDN 看看多年的积累, 真的不想,但CSDN搜电缆和编辑(新MarkDown更烂)实在不敢恭维 再见CSDN, 新的博客 http://my. ...
- hadoop版本号变迁
近期在研究hadoop时,发现hadoop的版本号非常混乱.原来的版本号都说0.X.X開始,后来发现有1.X.X和2.X.X 这样就不太清楚了. 0.20.2版本号曾经(不含该版本号)的配置文件都在d ...
- Ubuntu常用软件推荐,图文详细说明及下载
抛开Windows,其实在任何一款Linux发行版本中,我们都有超级大量的软件来安装,使用.这次的教程,我就以Ubuntu为例,来给大家推荐一些我认为不错的软件 声明: 1.本文提到的全部软件,都在文 ...
- 【iOS】彩虹渐变色 的 Swift 实现
首先很感谢大家的支持与关注.<Web Color 的 Swfit 实现>一文一经公布.訪问量迅速攀升,让本人受宠若惊. 为表达感激之情,今天早上把彩虹渐变也顺手实现了. 最新代码& ...
- extjs的相关属性
通用属性: labelSeparator:''//表示fieldLabel后不会显示冒号":" readOnly:true//仅仅读 focusCls: 'txtHalfInput ...
- leetcode先刷_Climbing Stairs
水的问题. 以为很常见.青蛙跳楼梯.能跳一步可以跳两步,它实际上是一个斐波那契数. 注意.空间O(1). class Solution { public: int climbStairs(int n) ...
- UVa 12459 - Bees' ancestors
称号:区区女性有父亲和母亲,区区无人机只有一个母亲,我问一个单纯的无人机第一n随着祖先的数量. 分析:递归.Fib序列. 状态定义:建立f(k)和m(k)分别用于第一k雌蜂和雄蜂的数量: 递推关系:f ...
- 转载:Raspberry Pi 树莓派入门
转载说明: 整理转载,原文链接http://www.eeboard.com/bbs/thread-5191-1-1.html 这篇帖子我打算用Q&A的方式来编写,这样大家更容易一目了然的看明整 ...