当前位置: 首页 > news >正文

windows下vs 2015 libtorrent库的配置,vs2015下-boost-openssl-libtorrent的配置

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--prefix=G:/openssllib(32位系统,根据环境需要自己改变) -> 完成后查看是否有ms/do_ms文件夹;
(2)Makefile 文件ms\do_nasm

如果不是使用nasm汇编器,这一步使用其他的命令代代替(如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

G:\openssllib文件夹下生成所需要的动静态库

注:遇到问题可以在网上找方法,这个只是我编译时见到的情况,特意拿来和大家分享。

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-python --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/。

编译好的boost_1_68_0的最新版本下载链接:https://download.csdn.net/download/huijielic/10829943

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 该网站介绍的很详细。

http://www.jsqmd.com/news/870893/

相关文章:

  • AI落地:从虚假阵痛到赋能,企业如何平衡技术与人的价值?
  • 从零开始将taotoken接入个人开发工具链的完整过程与心得
  • STM32新手避坑指南:用CubeMX+HAL库驱动HC-SR04超声波模块(附完整代码)
  • 深度解析Python SECS/GEM协议实现:secsgem库的现代架构设计
  • 【律所内部禁传】Claude法律文档分析的5个致命误用场景:第3种正导致尽调报告失效!
  • 对比不同模型在Taotoken平台上的输出效果与适用场景
  • JMeter压测秒退的三大静默杀手:线程组、超时、监听器
  • KMS智能激活终极指南:5分钟搞定Windows和Office永久激活
  • Adobe Illustrator智能填充脚本Fillinger终极指南:3分钟掌握AI自动填充技巧
  • 5个必装的Adobe Illustrator智能脚本:告别重复操作,提升10倍设计效率
  • 如何用Shutter Encoder解决专业视频工作流中的格式兼容性问题:5步完整指南
  • 如何用res-downloader轻松下载全网无水印视频?新手终极指南
  • res-downloader网络资源嗅探工具深度解析:3步实现跨平台HTTPS流量捕获与下载
  • 跨平台Unity游戏资源编辑利器:UABEA深度解析
  • 告别手速焦虑:大麦抢票自动化系统全攻略
  • 使用 Python 和 Taotoken 官方风格 SDK 实现你的第一个 AI 对话应用
  • 3分钟免费搞定Windows 11终极优化:告别卡顿与隐私泄露的完整指南
  • CTF选手工具箱:Foremost、Binwalk、Stegsolve在图片隐写中的实战用法与避坑指南
  • MATLAB机器人工具箱终极指南:从零到精通的快速入门完整教程
  • 构建AI模型实时反馈回路:从概念漂移到持续进化
  • AI-HF_Patch完全指南:3步安装游戏增强工具包,解锁AI-Shoujo无限可能
  • 边缘计算是5G应用的核心平台 , 产业空间广阔
  • 第38天:SQL详解之DML
  • EA(Enterprise Architect)UML修改字体大小
  • RxPermissions架构深度解析:响应式权限管理的实现原理与性能优化
  • RDP Wrapper兼容性故障排查:彻底解决[not supported]状态的技术指南
  • 从开发者反馈看taotoken api密钥管理与访问控制功能的实用性
  • 揭秘K12课堂AI转型真相:3个被90%学校忽略的PlayAI部署陷阱及72小时应急修复指南
  • 洛雪音乐音源配置终极指南:5分钟打造你的专属音乐库
  • TrafficMonitor插件完整指南:让你的Windows任务栏变身全能信息中心