参照:https://my.oschina.net/jacobin/blog/146567
http://blog.csdn.net/qingfengpu99/article/details/45113841
http://blog.csdn.net/xiaoluer/article/details/56008921
http://blog.csdn.net/u010085340/article/details/77875655
大概整理了网上的资料,总结编译libevent 64位静态库的方法。
1.http://libevent.org/下载最新libevent,解压到本地目录。
2.使用vs2010的nmake命令编译libevent下的makefile;详细可参见http://blog.csdn.net/xiaoluer/article/details/56008921:
需要注意的是:按照说明配置完成后,若还是出现
则重新启动计算机。
3.libevent默认编译为32位lib,若需要编译为64位,则需修改Makefile.nmake文件,在LIBFLAGS处添加MACHINE:X64(LIBFLAGS=/nologo/MACHINE:X64 )。
4.使用nmake /f Makefile.nmake编译过程中可能出错及修改方法:
fatal error C1083: 无法打开包括文件:“winsock2.h”: No such file or directory
解决:执行命令SET INCLUDE=D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include(你的vs2010安装目录下)
SET INCLUDE=%INCLUDE%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
fatal error LNK1181: 无法打开输入文件“ws2_32.lib”
解决:执行命令SET LIB=D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib(你的vs2010安装目录下)
SET LIB=%LIB%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
缺少print-winsocke-errors.obj
解决:参见http://blog.csdn.net/u010085340/article/details/77875655:注:添加的print-winsocke-errors.c文件放在libevent-2.1.8-stable\test下
重新清理编译即可