一、 编译boost
1、 解压boost_1_57_0.zip到目录:D:\Work\3rdParty\src\boost_1_57_0
2、 打开VS2010命令行工具,进入到以上目录,运行bootstrap.bat
3、 执行:b2 --toolset=msvc-10.0 --build-type=complete stage
(若要构建Boost 64位版本函数库,则输入b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage)
二、 编译libevent
1、 解压libevent-2.0.22-stable.tar.gz到目录:D:\Work\3rdParty\src\libevent-2.0.22-stable
2、 打开VS2010命令行工具,进入到以上目录,执行命令:nmake /f Makefile.nmake
三、 编译openssl
1、 解压openssl-1.0.2.tar.gz到目录:D:\Work\3rdParty\src\openssl-1.0.2
2、 安装ActivePerl
3、 打开VS2010命令行工具,进入到以上目录,执行命令:
perl Configure VC-WIN32 no-asm
4、 修改ms下的do_ms.bat为:
perl util\mkfiles.pl >MINFO
perl util\mk1mf.pl debug no-asm VC-WIN32 >ms\nt.mak
perl util\mk1mf.pl debug dll no-asm VC-WIN32 >ms\ntdll.mak
perl util\mk1mf.pl debug no-asm VC-CE >ms\ce.mak
perl util\mk1mf.pl debug dll no-asm VC-CE >ms\cedll.mak
perl util\mkdef.pl 32 libeay > ms\libeay32.def
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
5、 依次执行命令:
ms\do_ms
nmake -f ms\ntdll.mak (编译动态库)(约5分钟左右)
nmake -f ms\nt.mak (编译静态库)
6、装载openssl到指定的目录d:\opensll_lib中
7、 d:\openssl-1.0.1e> nmake -f ms\ntdll.mak install
8、 d:\openssl-1.0.1e> nmake -f ms\nt.mak install
四、 配置
1)openssl配置
1 在项目属性中选择c/c++ ->常规 -> 附加包含目录 添加openssl中的inc32文件夹(注意不是include)。
2 在项目属性中选择链接器 -> 常规 -> 附加库目录 添加openssl中的out32文件夹(静态链接,若使用动态链接请改为out32dll文件夹)。
3 在项目属性中选择链接器 -> 输入 -> 附加依赖项 添加libeay32.lib,ssleay32.lib。自定义生成步骤中
4 在项目属性中选择c/c++ ->代码生成 -> 运行库 为MTd(debug下的静态链接,若第3步为动态链接需要选择MDd,使用的运行库若有不清楚的地方可参考http://blog.csdn.net/bejustice/article/details/8672577, 文章的最后有运行库的详细介绍)。
2)libthrift工程配置:
libthrift>属性->C/C++->常规->附加包含目录->\boost\boost_1_51
libthrift>属性->库管理器->常规->附加库目录->\boost\boost_1_51\lib
注意是lib不是libs
3)libthriftnb工程配置:
libthriftnb>属性->C/C++->常规->附加包含目录->
\boost\boost_1_51
\libevent-2.0.21-stable
\libevent-2.0.21-stable\include
\libevent-2.0.21-stable\WIN32-Code
libthriftnb>属性->库管理器->常规->附加库目录->
\boost\boost_1_51\lib
4)编译libthrift和libthriftnb工程
编译完成后,在\thrift-0.9.1\lib\cpp\Debug下生成libthrift.lib文件,和libthriftnb.lib文件。
选择release模式,则在\thrift-0.9.1\lib\cpp\Release下生成libthrift.lib文件和libthriftnb.lib文件。
至此,安装完成。