nodejs生成vs2008工程问题解决方案

SET GYP_MSVS_VERSION=2008
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
vcbuild.bat debug noprojgen nosign

// 1.修改configure 中
  // gyp_args = ['-f', 'msvs', '-G', 'msvs_version=2010']  
// 为
 // gyp_args = ['-f', 'msvs', '-G', 'msvs_version=2008']  
/*github下载的master分支(20121114)中为『gyp_args = ['-f', 'msvs', '-G', 'msvs_version=auto']』*/

2. 用mc工具,生成 \src\res\node_etw_provider.man 为\src\res\node_etw_provider.h
/*.\##PROGRAM_FILES##\Microsoft SDKs\Windows\v6.0A\bin\MC.Exe*/
mc.exe是平台sdk 带的,生成时需要winmeta.xml,需要从平台sdk 中复制过来。
/*.\##PROGRAM_FILES##\Microsoft SDKs\Windows\v6.0A\Include\winmeta.xml*/
命令行:mc.exe  \src\res\node_etw_provider.man  ,然后把生成的一堆node_etw_provider 开头的文件,
复制到\Release\obj\global_intermediate\
node_etw_provider .h复制到src目录

// 3.node-v0.8.12\deps\uv\src\win\poll.c 增加64位的定义
// /* maximum signed 64 bit value */
// #define INT64_MAX      9223372036854775807i64
/* 20121114 master branch不需增加 */


4.d:\Code\RichLab\nodejs\node-v0.8.12\deps\http_parser\http_parser.h
中,修改
    #if defined(_WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<1600)
    为 #if defined(_WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<1500)


5.关于stdint.h
// replace with .\node-master\deps\uv\include\uv-private\stdint-msvc2008.h -> stdint.h
5.1 拷贝 stdint.h到http_parser.h所在目录,不能用vs2010版本(6kb),cygwim中stdint.h(5kb)可过
5.2 vu.h中所需stdint.h可用空文件或直接屏蔽


Debug version
1、zutil.h line 200
#      if _MSC_VER < 1500
#        define vsnprintf _vsnprintf
#      endif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值