libtorrent编译

libtorrent编译原文地址 http loading 1976 blog 163 com blog static 29 libtorrent 需要用到 OpenSSL 和 boost 库 所以应该首先准备这两个库 1 编译 OpenSSL1 1 下载 OpenSSL 我采用了 1 0 0d 版本 官方下载地址 http www openssl org s

原文地址:http://loading.1976.blog.163.com/blog/static/29/

perl configure VC-WIN32
ms\do_ms
nmake -f ms\nt.mak




      上面生成了静态版本的openssl库,如果你需要动态链接库版本的,请执行
nmake -f ms\ntdll.mak

1.7 编译完成以后,在C:\WORK\OpenSSL\out32中会生成所有的文件,我们需要的是libeay32.lib,ssleay32.lib,openssl.exe(如果是动态链接库版本,就还有libeay32.dll和ssleay32.dll)。

2、编译boost库

2.1 下载boost库。我采用了1.46.1版本。官方下载地址:http://sourceforge.net/projects/boost/files/boost/1.46.1/boost_1_46_1.7z/download
2.2 运行Vis l St io命令提示行(2010)。
2.3 在VS命令提示行中进入到解压出来的boost目录,我们这里假设是C:\WORK\boost。
2.4 执行如下命令

bootstrap
.\bjam link=static runtime-link=static threading=multi stage



2.5 编译完成以后,应该将C:\WORK\boost加入到需要使用boost的工程的包含目录中,相应的库文件在C:\WORK\boost\stage\lib目录中。这里我们生成了debug和release的全部静态库。可以看到,所有的库结尾都带上了s,表示是静态库,debug版本的库后面还带有gd的标志。

3、编译libtorrent

3.1 下载libtorrent。我采用了0.15.6版本。官方下载地址:http://libtorrent.googlecode.com/files/libtorrent-rasterbar-0.15.6.tar.gz。需要注意的是,libtorrent有两个团队维护版本,我用的是http://www.rasterbar.com/prod ts/libtorrent/这里的版本。
3.2 运行Vis l St io命令提示行(2010)。
3.3 在VS命令行中进入到解压出来的libtorrent目录,我们这里假设是C:\WORK\libtorrent。
3.4 将2.4步中生成的C:\WORK\boost\bjam.exe拷贝到C:\WORK\libtorrent。
3.5 设置环境变量

set BOOST_ROOT=C:\WORK\boost
set INCLUDE=%INCLUDE%;C:\WORK\OpenSSL\inc32
set LIB=%LIB%;C:\WORK\OpenSSL\out32




3.6 修改C:\WORK\boost\tools\build\v2\user-config.jam文件。在其中添加一行

using msvc : 10.0;


3.7 执行如下命令

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



3.8 创建C:\WORK\libtorrent\lib目录。
3.9 将C:\WORK\libtorrent\bin\msvc-10.0\debug\boost-source\link-static\runtime-link-static\threading-multi\libtorrent.lib拷贝为C:\WORK\libtorrent\lib\libtorrent-debug.lib;将C:\WORK\libtorrent\bin\msvc-10.0\release
\boost-source\link-static\runtime-link-static\threading-multi\libtorrent.lib拷贝为C:\WORK\libtorrent\lib\libtorrent-release.lib。

到目前为止,已经成功的创建了相关的所有库文件。使用时,需要添加相关目录:
头文件目录:

C:\WORK\OpenSSL\inc32

C:\WORK\boost
C:\WORK\libtorrent\include
C:\WORK\libtorrent\zlib




库文件目录:

C:\WORK\OpenSSL\out32

C:\WORK\boost\stage\lib
C:\WORK\libtorrent\lib



参考来源:
1) http://limewire.negatis.com/index.php?title=Visual_Studio_libtorrent
2) http://blog.csdn.net/Jackshen1986/archive/2010/03/23/.aspx

备注:
1) 编译完成后,在使用libtorrent库时,应在工程中添加BOOST_FILESYSTEM_VERSION=2的预定义,否则会出现类似file_storage.hpp(110): error C2572: ‘libtorrent::file_storage::add_file’ : redefinition of default parameter : parameter 5这样的编译错误。boost的1.46版本以后,boost.filesystem缺省使用了3,必须手工指定为2,libtorrent才能正常使用。
2) 上面编译中统统示范生成的是静态链接库,在使用时,因为VS生成的工程默认的“代码生成”采用的是多线程DLL(/MDd),所以链接的时候会出现大量的LNK2005错误,解决的办法就是修改“代码生成”为多线程(/MTd),或者是自行编译出DLL版本的库来使用。




































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226357.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午11:05
下一篇 2026年3月16日 下午11:05


相关推荐

  • 公平洗牌算法_随机洗牌算法

    公平洗牌算法_随机洗牌算法要求:给定一个长度为n的有序数组,要求将其完全打乱,每个元素在任何位置出现的概率均为1/n。随机洗牌算法有好几个,这里讲其中的一个,Fisher-Yatesshuffle算法(时间复杂度为O(n)),其思路如下:(1)从数组中随机选取一个数p。(2)将p与数组中最后(也可以是最前)的元素交换。(如果随机选中的是最后的元素,则相当于没有发生交换)(3)去掉最后的元素(这里并没有删除操作,而是缩小索

    2026年2月9日
    5
  • 慕课软件质量保证与测试(习题集)

    慕课软件质量保证与测试(习题集)慕课金陵科技学院.软件质量保证与测试.期末复习.习题汇总0总目录1绪论1.1软件质量保证与测试的产生与发展1.2软件缺陷,软件错误,软件故障1.3软件质量保证与测试的意义,原则和挑战1.4单元测试1.5课后作业2软件测试策略2.1软件测试的模型,过程和生命周期2.2软件测试的方法和技术2.3单元测试2.4课后作业3黑盒测试3.1黑盒测试概述3.2等价类划分测试3.3边界值测试3.4错误推测法3.5判定表驱动法3.6因果图法3.7场景法3.8正交实验法3.9单元测试

    2022年10月4日
    5
  • webstorm 使用git(git管理工具的安装与使用)

    该篇主要介绍在webstorm中怎么使用git工具,需要学习git的请找别的教程,具体的目前只介绍常用的代码拉取和提交,后续在进行更新(不一定会)webstorm中的git操作主要在VCS中;判断项目中是否有git仓库,下面两个图项目文件夹有没有git仓库,鼠标点击VCS时如下图所示;没有git仓库有git仓库3.新建git仓库,如下图,点击CreateGitRe…

    2022年4月13日
    721
  • ubuntu python安装pip_ubuntu离线安装pip

    ubuntu python安装pip_ubuntu离线安装pip说明pip是一个安装和管理Python包的工具。在Pip的帮助下,你可以安装独特版本的包。最重要的是,Pip可以通过一个“requirements”的工具来管理一个由包组成的列表和版本号。Pip很像easy_install,但是Pip有一些额外的特色。ubuntu安装pip#建议在操作前将源替换为163或阿里的源#1.更新系统包sudoapt-getupdatesud

    2025年7月11日
    5
  • serialVersionUID作用

    serialVersionUID作用

    2021年12月8日
    53
  • 裴礼文数学分析中的典型问题与方法百度云_数学分析的典型问题

    裴礼文数学分析中的典型问题与方法百度云_数学分析的典型问题裴礼文《数学分析中的典型问题与方法》第2天31~60第1章一元函数极限3.求极限值的若干方法利用等价代换和初等变形求极限。 等价代换。 先求出可以求出来的值。 根号内最好转变为一个常数和一个分式的和。 等价无穷小代换。 注意只有在x出现的时候才可以用,如果是常数不能用等价无穷小代换,比如说1.3.1的第4问。efx-eb不能等价代换成efx-1-eb+1因为必是常数,所以不能够这样等价无穷小代换。应该以整体的思想,然后进行等价无穷小代换。 等价代换原理,源于分

    2022年8月11日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号