libtorrent依赖OpenSSL和boost库,首先要编译Openssl和boost库。
1、安装ActivePerl,下载地址:网上找。
安装完后配置环境变量(一般安装成功后,环境变量就已经配置好了,如果没有配置自己配置环境变量):
我的perl路径是G:/perl;配置的环境变量是G:/Perl/bin。
2、编译openssl:
我下载的是openssl-1.0.1c版本,安装路径是:G:/openssl-1.0.1c
打开 Visual Studio 2015->Visual Studio tools ->VS2015 开发人员命令提示,进到 openssl的目录下,一次运行以下命令:
(1) perl configure VC-WIN32(32位系统,根据环境需要自己改变) -> 完成后查看是否有ms/do_ms文件夹;
(2)ms/do_ms -> 完成后查看ms文件夹下是否有ntdll.mak和nt.mak两个文件;
这里可以提前修改ms目录下的ntdll.mak文件,把-w3修改为-w0:
CFLAG= /MD /Ox -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -Gy -nologo
不修改有时候回出现error,有时候没有错误,可能和版本有关系,这个不是特别了解。
(3)nmake -f ms/ntdll.mak(编译静态版本的执行nmake -f ms/nt.mak,静态库会出无法解析外部符号的错误,需要给指定lib库的位置,我使用的是动态库) 。
编译完成后会在G:openssl-1.0.1c下生成:动态库文件夹out32dll(静态库生成的是:out32文件夹)。
out32dll下成的有用文件:openssl.exe,libeay32.dll,ssleay32.dll。
另外还有几个可能会用到:
测试OpenSSL动态库:nmake -f ms\ntdll.mak test
测试OpenSSL静态库:nmake -f ms\nt.mak test
安装OpenSSL动态库:nmake -f ms\ntdll.mak install
安装OpenSSL静态库:nmake -f ms\nt.mak install
清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean
注:遇到问题可以在网上找方法,这个只是我编译时见到的情况,特意拿来和大家分享。
3、编译Boost库:
下载网址:https://sourceforge.net/projects/boost/files/boost/1.36.0/。
(1)解压(例解压到:G:/)。
(2)打开 Visual Studio 2015->Visual Studio tools ->VS2015 开发人员命令提示,cd 到boost解压后的根目录(例:G:/boost_1_62_0);
执行G:/boost_1_62_0下的booststrap.bat。完成后会在boost根目录(G:/boost_1_62_0)生成:b2.exe,bjam.exe,project-config.jam。
(3)使用bjam命令:
bjam --without-pythout --toolset=msvc-14.0 link=static runtime-link=shared threading=multi debug release;
(在这之前如果之前有生成记录,可以使用:bjam --clean 清除下记录)。
运行完成后会提示(意思是这样):
Compiler include: G:/boost_1_62_0
Linker library: G:/boost_1_62_0/stage/lib
详细的每个参数的含义,可以参考 全速前行 的博客里的《BOOST库在Windows下的配置》,
网址链接:http://blog.csdn.NET/lincyang/article/details/5969518?locationNum=5&fps=1 谢谢博主)。在此我就不详细介绍了,如果想知道,可以回帖,欢迎询问。
(4)设置环境变量BOOST_BUILD_PATH:
set BOOST_BUILD_PATH=G:/boost_1_62_0/;
(5)修改 G:/boost_1_62_0/tools/build/example/user-config.jam文件,在里面添加:#using msvc :4.0;
(6)设置b2.exe的环境变量(如果使用bjam就设置bjam的环境变量)。在计算机的path里设置: G:/boost_1_62_0/。
4、libtorrent库
下载地址:https://sourceforge.net/projects/libtorrent/ 或者:https://github.com/arvidn/libtorrent
(1)安装路径:G:/(下载的是第二个网址里的所有文件,文件夹名是:libtorrent-master)。
(2)设置头文件和依赖库:
打开 Visual Studio 2015->Visual Studio tools ->VS2015 开发人员命令提示,cd到libtorrent的目录
(例:G:/libtorrent-master)
set BOOST_ROOT=G:/boost_1_62_0/;
set INCLUDE= G:/libtorrent-master/include/;G:/openssl-1.0.1c/include/;G:/boost_1_62_0/boost/;
set LIB=G:/openssl_1.0.1c/out32dll/;G:boost_1_62_0/stage/lib/;
运行b2.exe,生成在G:/libtorrent-master/ 下生成bin目录,bin/msvc-14.0/debug/asserts-on/threading-multi/ 下生成torrent.lib和torrent.dll文件。
可以把这两个文件(torrent.lib和torrent.dll)拷贝到bin目录下,方便使用。
例子可以使用:G:/libtorrent-master/examples下的程序测试。使用的配置欢迎回帖。
参考:http://libtorrent.org/building.html 该网站介绍的很详细。