nodejs protobuff node-protobuf c++ windows扩展安装笔记
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的一些头文件。
nodejs protobuff node-protobuf c++ windows扩展安装笔记的更多相关文章
- Windows下安装node
1.安装node及npm Windows下安装软件都是傻瓜式安装,首先登陆官网(https://nodejs.org/en/)下载对应的node程序,然后双击进行安装.安装过程基本上是点击'Next' ...
- Windows上安装Node.js
Windows安装包(.msi) Node.js安装地址:https://nodejs.org/en/download/ 本文以node-v8.9.1-x64.msi为例, 步骤1:双击下载后的安装包 ...
- node.js和npm的安装
1.进入node.js官方网站,下载和系统对应的版本,我下载的是这个最新版本:node-v8.2.1-x64.msi https://nodejs.org/en/download/ 2.windows ...
- windows下安装node.js及环境配置、部署项目
windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...
- Node.js在Windows与Linux下的安装
一.Windows配置 (1)官网(http://nodejs.org)选择Node.js的Windows系统(32位和64位)最新版本. (2)下载完成后,执行MSI的安装文件. (3)安装完成,查 ...
- node.js和express.js安装和使用步骤 [windows]
PS: NODEJS:https://nodejs.org NPM:https://www.npmjs.com/ 一.node.js安装与配置 到https://nodejs.org/en/downl ...
- (转)windows下安装nodejs及框架express
转自:http://jingyan.baidu.com/article/456c463b60fb380a583144a9.html windows下安装nodejs及框架express nodejs从 ...
- Windows下安装Nodejs步骤
最近打算把我们的微信端用Vue.js重构,为什么选择Vue.js,一是之前使用的是传统的asp.net mvc,多页面应用用户体验比单页面要差.二是使用过Angular.js,感觉对开发人员要求较 ...
- 【NodeJS】Node.JS 开发环境安装
1.前言 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一个事件驱动I/O ...
随机推荐
- Jquery EasyUI Treegrid按需加载子集
项目说明,要一个有权限并且按需加载的树形列表. jeasyui网址 CSS <!--添加树状控件--> <link rel="stylesheet" type=& ...
- (转)裸奔的后果!一次ssh被篡改的入侵事件
裸奔的后果!一次ssh被篡改的入侵事件 原文:http://blog.51cto.com/phenixikki/1546669 通常服务器安全问题在规模较小的公司常常被忽略,没有负责安全的专员,尤其是 ...
- 重入锁--ReentrantLock
本部分主要参考<java并发编程艺术>一书相关内容,同时参考https://blog.csdn.net/zhilinboke/article/details/83104597,说的非常形象 ...
- unity手游使用terrian注意事项
1.Terrain比较占性能,普通机器测试,未开terrain 60帧,开启terrain后 30帧 2.Terrain的size大小与占用性能无关,不过越小的Terrain的烘焙上去的阴影越模糊 ...
- 九度oj题目1165:字符串匹配
题目1165:字符串匹配 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3078 解决:1079 题目描述: 读入数据string[ ],然后读入一个短字符串.要求查找string[ ]中 ...
- 省市区json数据
window.LocalList = [ { region:{ name:'北京市', code:'11', state:[ { name:'北京', code:'01', city:[ {name: ...
- 【linux相识相知】sed命令
在之前的博客中我们介绍了文本三剑客中grep,本次博客就另外一名剑客——sed做出详细的描述,sed真的是一款强大的工具.下面让我们来一起看一下吧! 概述和工作机制 SED的英文全称为Stream E ...
- 引用SQLHelper类configurationmanager 不存在
在使用Sqlhelper类时,出现cs0103错误 当前上下文中不存在名称configurationmanager 解决方案,除了using引用using System.Configuration外, ...
- BindingResult参数验证的跨层次迭代验证
public ResponseWrapper<Object> recordAdd(@RequestBody @Valid ReqAddEnterpriseInfoDTO addEnterp ...
- HDU 5011 NIM博弈
http://www.cnblogs.com/exponent/articles/2141477.html http://acm.hust.edu.cn/vjudge/contest/122814#p ...