Libtorrent编译安装
安装环境:
Windows 7
Visual Studio 2010
ActivePerl 5.16.1.1601
openssl 1.0.1c
boost 1.46.1
libtorrent rasterbar 0.15.6
安装目录:
D:\work\
Visual Studio工程目录:
E:\Visual Studio\Projects\
1. 安装ActivePerl
http://www.activestate.com/activeperl/downloads
下载ActivePerl Community Edition版本
ActivePerl-5.16.1.1601-MSWin32-x86-296175.msi
安装到D:\work\perl\目录,安装时注意选择增加至path环境变量。
2. 编译openssl
http://www.openssl.org/source/
下载openssl-1.0.1c.tar.gz (latest)
解压到D:\work\openssl-1.0.1c\
打开Visual Studio命令提示窗口
cd D:\work\openssl* perl Configure VC-WIN32 ms\do_ms nmake -f ms\nt.mak
这里生成静态链接库,若要生成动态链接库,最后一步使用nmake -f ms\ntdll.mak命令;
输出到\out32\目录下(若动态库则生成到\out32dll\目录下),其中包括:
可执行文件openssl.exe、
两个lib文件(ssleay32.lib,libeay32.dll)、
(若动态链接库还包括两个dll文件ssleay32.dll,libeay32.dll)。
3. 编译boost
http://sourceforge.net/projects/boost/files/boost/1.46.1/boost_1_46_1.7z/download
解压到D:\work\boost_1_46_1\
打开Visual Studio命令提示窗口
cd D:\work\boost*
bootstrap
bjam link=static runtime-link=static threading=multi stage > build.txt
编译完成后,相应的库文件生成到\stage\lib\目录中;
这里生成了debug和release的全部静态库,可以看到,所有的库结尾都带上了s,表示静态库,debug版本的库后面还带有gd标志。
4. 编译libtorrent
http://code.google.com/p/libtorrent/downloads/list
下载libtorrent-rasterbar-0.15.6.tar.gz
解压到D:\work\libtorrent-rasterbar-0.15.6\
复制boost*\目录下bjam.exe到libtorrent*\目录
修改boost*\tools\build\v2\user-config.jam文件,取消注释using msvc : 10.0 ;
打开Visual Studio命令提示窗口
cd D:\work\libtorrent* set BOOST_ROOT=D:\work\boost_1_46_1 set INCLUDE=%INCLUDE%;D:\work\openssl-1.0.1c\inc32 set LIB=%LIB%;D:\work\openssl-1.0.1c\out32 bjam --toolset=msvc boost=source link=static runtime-link=static variant=debug character-set=unicode --without-python > builddebug.txt bjam --toolset=msvc boost=source link=static runtime-link=static variant=release character-set=unicode --without-python > buildrelease.txt
在libtorrent*\下新建lib目录
将\bin\msvc-10.0\debug\boost-source\link-static\threading-multi下的libtorrent.lib 复制到 lib下命名为libtorrent-debug.lib;
将\bin\..\release\..下的libtorrent.lib复制到lib下命名为libtorrent-release.lib。
5. 调试libtorrent
打开Visual Stuido 2010,新建项目 - Visual C++ - win32项目 - 控制台应用程序 - 空项目,如项目名称为testlt;
将D:\work\libtorrent-rasterbar-0.15.6\examples下的simple_client.cpp复制到E:\Visual Studio\Projects\testlt\testlt下
在解决方案资源管理器右键工程名,添加 - 现有项,选择simple_client.cpp
右键工程名,属性
配置属性 - VC++目录 - 包含目录 - 编辑,添加:
D:\work\libtorrent-rasterbar-0.15.6\zlib
D:\work\libtorrent-rasterbar-0.15.6\include
D:\work\boost_1_46_1
D:\work\openssl-1.0.1c\inc32
C/C++ - 代码生成 - 运行库,设置为多线程编程(/MTD)
链接器 - 常规 - 附加库目录 - 编辑,添加:
D:\work\libtorrent-rasterbar-0.15.6\lib
D:\work\boost_1_46_1\stage\lib
D:\work\openssl-1.0.1c\out32
链接器 - 输入 - 附加依赖项,填写:
libtorrent-debug.lib
libeay32.lib
ssleay32.lib
打来simple_client.cpp,在开头添加:
#define BOOST_FILESYSTEM_VERSION 2
编译。