代码改变世界

nodejs protobuff node-protobuf c++ windows扩展安装笔记

2016-08-22 16:10  游乐场123  阅读(953)  评论(0编辑  收藏  举报

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的一些头文件。