闲聊c/c++: 使用 visual c++ build tools 编译 nodejs库(含c/c++实现)

原因:

需要使用node.bcrypt.js库来进行文件加密。

但是该库使用c++实现。

在ubuntu中已有gcc编译器,编译非常顺利。

而在windows中又不想安装庞大的visual studio (曾经全部安装vs系列,占用空间超过50g,好可怕啊!)

通过百度,发现微软已经提供命令行编译器: visual c++ build tools 。

对于我来说,我只需要安装windows版本的c++编译器以及c语言运行库(crt)和c++标准库(stl),而 visual c++ build tools 正符合我的需求。

下载并安装 visual c++ build tools:

  1. http://landinghub.visualstudio.com/visual-cpp-build-tools 下载visual c++ build tools 2015

  2. 打开下载的安装程序,选择安装crt(c语言运行库)和stl(c++标准库)

  3. 程序进入下载并安装阶段

闲聊c/c++: 使用 visual c++ build tools 编译 nodejs库(含c/c++实现)_第1张图片
下载安装.jpg
  1. 安装好,如下结构:
闲聊c/c++: 使用 visual c++ build tools 编译 nodejs库(含c/c++实现)_第2张图片
安装结果.jpg
  1. npm install node-gyp -g 全局安装gyp(类似cmake,maven等项目构建工具,用于跨平台编译或编译解决方案生成)

  2. npm install bcrypt --save 将bcrypt下载并自动使用gyp调用vs2015 cpp build tools进行编译,但是我们碰到问题了:

闲聊c/c++: 使用 visual c++ build tools 编译 nodejs库(含c/c++实现)_第3张图片
碰到问题.jpg
  1. 原来单单crt和stl库不够,还需要windows sdk 8.1版本,那就使用安装器修复安装吧
闲聊c/c++: 使用 visual c++ build tools 编译 nodejs库(含c/c++实现)_第4张图片
windows_sdk_8.1.jpg
  1. 还需要下载python2.7.x版本进行脚本运行(是python2而不是python3,切记!),自行查python下载地址。目前跨平台编译的脚本基本都使用python进行引导。

  2. 再次使用npm install bcrypt --save覆盖编译安装或使用gyp相关命令进行编译生成部署(bcrypt已经安装好的情况下)

闲聊c/c++: 使用 visual c++ build tools 编译 nodejs库(含c/c++实现)_第5张图片
成功编译.jpg

如果你没有在windows中安装visual studio C++ IDE的话,并且不想安装庞大的vs系统且想编译c/c++程序的话,visual c++ build tools是你最好的选择!

你可能感兴趣的:(闲聊c/c++: 使用 visual c++ build tools 编译 nodejs库(含c/c++实现))