https://www.npmjs.com/package/node-protobuf
按照作者所说的办法在windows平台安装的办法,先到google的github下载2.6.1版本的protobuf源码
https://github.com/google/protobuf/
这里要注意的是,作者教程说的是用vs2010编译protobuf.lib静态库,作者的nodejs版本是0.11
我使用的是最新的nodejs 4.5版本,用vs2010编译的时候v8.h包各做错误,本人对C++基本不懂
应该是v8是用高版本的vc++编译的,用老的vs编译可能有些特性不支持,所以无法编译通过
笨人嘛,木有办法,刚好机器上有从vs2010到2013的编译环境,所以就挨个试了一遍,结果用vs2013编译成功了
指定npm用哪个版本的vs编译命令如下:
npm config set msvs_version 2013 --global
先打开protobuf的源码目录,进入vsprojects,找到protobuf.sln,用vs2013打开,然后转换项目到vs2013项目
如下图设置Platform Toolset 为 vs2013
设置CRT为:多线程,不要设置为多线程DLL。
然后开始编译即可,在Release找到生成好的libprotobuf.lib,随便复制到一个文件夹,比如d:/protobuf/
在把src下的google文件夹所有文件复制到d:/protobuf/
进入电脑高级属性设置环境变量 LIBPROTOBUF 为 d:/protobuf/,这样就设置好了node-protobuf编译时候protobuf的库和头文件,这样才能编译成功。
运行命令:
npm install node-protobuf
应该就能编译成功了,主要要注意的就是VC编译器的版本,和需要设置环境变量,要不然编译的时候会提示找不到protobuf的一些头文件。