注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

记录创意的火花

天天学习,好好向上

 
 
 

日志

 
 

Visual Studio编译 libuv  

2012-09-30 13:12:56|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

libuv 是 Node 的新跨平台抽象层,用于抽象 Windows 的 IOCP 及 Unix 的 libev。作者打算在这个库的包含所有平台的差异性。

特性:

  • 非阻塞 TCP 套接字
  • 非阻塞命名管道
  • UDP
  • 定时器
  • 子进程生成
  • 通过 uv_getaddrinfo 实现异步 DNS
  • 异步文件系统 API:uv_fs_*
  • 高分辨率时间:uv_hrtime
  • 正在运行程序路径查找:uv_exepath
  • 线程池调度:uv_queue_work
  • TTY控制的ANSI转义代码: uv_tty_t
  • 文件系统事件现在支持 inotify, ReadDirectoryChangesW 和 kqueue。很快会支持事件端口:uv_fs_event_t
  • 进程间的 IPC 与套接字共享:uv_write2

已受支持的平台:

  • Microsoft Windows 操作系统,如 Windows XP SP2。使用 Visual Studio 或 MinGW 构建
  • Linux 2.6 使用 GCC 工具链
  • MacOS 使用 GCC 或 XCode 工具链
  • Solaris 121 或之后版本,使用 GCC 工具链
以下是正题:

(1)采用VS2005编译( 以失败告终)
       几点经验:
       1.默认安装python时无环境变量,要在环境变量里增加 python的安装路径,path  c:\python27等,如果已经有了path名,在值的后面加“;”分号,再加c:\python27
       2.运行libuv下载目录里的 vcbuild.bat会提示 Visual Studio没有找到,是因为它只支持vs2008和vs2010.
       3.打记事本打开vcbuild.bat,增加对vs2005的支持,红色为新增加部分,此时可以生成 uv.sln文件

@rem Look for Visual Studio 2010
if not defined VS100COMNTOOLS goto vc-set-2008
if not exist "%VS100COMNTOOLS%\..\..\vc\vcvarsall.bat" goto vc-set-2008
call "%VS100COMNTOOLS%\..\..\vc\vcvarsall.bat" %vs_toolset%
set GYP_MSVS_VERSION=2010
goto select-target

:vc-set-2008
@rem Look for Visual Studio 2008
if not defined VS90COMNTOOLS goto vc-set-2005
if not exist "%VS90COMNTOOLS%\..\..\vc\vcvarsall.bat" goto vc-set-notfound
call "%VS90COMNTOOLS%\..\..\vc\vcvarsall.bat" %vs_toolset%
echo Warning: building with Visual Studio 2008 is currently not supported.
set GYP_MSVS_VERSION=2008
goto select-target

:vc-set-2005
@rem Look for Visual Studio 2005
if not defined VS80COMNTOOLS goto vc-set-notfound
if not exist "%VS80COMNTOOLS%\..\..\vc\vcvarsall.bat" goto vc-set-notfound
call "%VS80COMNTOOLS%\..\..\vc\vcvarsall.bat" %vs_toolset%
echo Warning: building with Visual Studio 2005 is currently not supported.
set GYP_MSVS_VERSION=2005
goto select-target

用VS2005编译uv.sln发现各种错误,其中有stdint.h 文件缺少,读写锁未定义等,最后放弃

(2)VS2010上进行
        很折腾,要安装vs2010要很长时间,完成后再次运行vcbuild.bat会生成新的uv.sln可以顺利编译成功,但不久会发现,晓以电脑太卡了,果断卸载了2010.
(3)vs2008上进行
           很顺利,电脑不卡了

总结:
       libuv在window下编译最好用VS2008,这个过程中要注意python、svn等软件的配置。
      下一阶段将进行libuv的系统学习,欢迎交流 qq 601880671
  评论这张
 
阅读(5541)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018