最近做一个BT下载的项目,使用libtorrent.dll动态链接依赖于实际环境,因此需要编译一个lib,项目中使用静态链接,运行库 MTD
环境:win10+vs2017+boost1.7.1+libtorrent1.2.1
1、首先下载并编译boost库,下面提供官网链接
本文中使用的是boost1.7.1版本的,下载之后放在了D盘
在cmd下进入boost1.7.1当前目录下,运行bootstrap.bat文件,在当前目录下会生成b2.exe,接下来生成boost 32位和64位的多线程静态链接库。
编译32位lib:
b2 stage --toolset=msvc-14.1 architecture=x86 address-model=32 --stagedir=".\lib32\vc14_x86" link=static runtime-link=static threading=multi debug release
编译64位lib
b2 stage --toolset=msvc-14.1 architecture=x86 address-model=64 --stagedir=".\lib64\vc14_x64" link=static runtime-link=static threading=multi debug release
2、libtorrent静态库编译
去libtorrent官网下载最新版本的libtorrent,本文使用的是1.2.1版本,下面是下载链接:
下载完成后放在D盘根目录,使用VS2017创建一个空项目,项目位置设定为下载的libtorrent源码目录,把libtorrent源码都添加到新创建的工程。
设定项目文件扩展名为.lib,配置类型静态库,在静态库中使用MFC,字符集unicode
附加包含目录 D:\boost_1_71_0
c\C++->预处理器
WIN32
_DEBUG
_LIB
_WIN32_WINNT=0x0501
WIN32_LEAN_AND_MEAN
_CRT_SECURE_NO_WARNINGS
BOOST_ASIO_ENABLE_CANCELIO
DBOOST_ASIO_SEPARATE_COMPILATION
_CRT_SECURE_NO_DEPRECATE
[代码生成] 多线程调试MTD
平台选择win32、x64分别生成32位和64位的静态库libtorrent.lib