libuv编译
- libuv源码下载
- 可到 https://dist.libuv.org/dist 中选择各种版本
- 源码下载链接(https://dist.libuv.org/dist/v1.9.1/libuv-v1.9.1.tar.gz)
- libuv集成到vs2013中
- 拷贝LIBUV的include目录和src目录,包括它们的众多源代码文件。其中include\uv下只保留五个文件即可:Errno.h threadpool.h tree.h version.h win.h。其中src里面保留win文件夹,如图:
- 编译时,将LIBUV\include\uv, LIBUV\include, LIBUV\src\win, LIBUV\src四个文件夹加入到编译时需要的头文件目录。选择项目属性,=>VC++目录=>包含目录。
-
LIBUV的errno.h改名为uv_errno.h,因为和VS2017的库文件有冲突。当然,uv.h里的#include errno.h修改为:#include uv_errno.h。同样的,winsock.h->uv_winsock.h,也是命名冲突的问题。在internal.h里的#include winsock.h修改为:#include uv_ winsock.h
-
在vs声明两个预处理命令_CRT_SECURE_NO_DEPRECATE 和_CRT_NONSTDC_NO_DEPRECATE,如图
-
因为LIBUV里面使用了一些过时的函数。要求LIBUV的所有.c文件第一句加上#include "LibUVPreCompile.h",自然带来这个好处,不用每个文件修改此项配置。在fs_event.c里加上,#pragma warning( disable : 4703 ) //注意:disable(空格)
-
配置windows的依赖lib库
{
pragma comment(lib,"ws2_32.lib")
pragma comment(lib,"IPHLPAPI.lib")
pragma comment(lib,"Psapi.lib")
pragma comment(lib,"Userenv.lib")
}
也可以在vs里面配置,如图:
- 然后写个main函数 调用libuv方法就可以运行了 o(∩_∩)o 哈哈