在Ubuntu20.04系统下使用源代码编译libtorrent,首先需要安装boost,这里使用boost 1.75.0版本。在boost官网下载好源码压缩包,解压后cd到boost_1_75_0目录下。网上查到的很多安装方法都不适用,直接根据官网的方法安装即可。
官网链接:https://www.boost.org/doc/libs/1_75_0/more/getting_started/unix-variants.html
在boost_1_75_0目录下执行下列命令完成boost安装:

$ ./bootstrap.sh
$ b2
$ ./b2 install --prefix=/usr/local

Boost安装完成后,即可进行libtorrent的编译和安装。首先在libtorrent的GitHub官网(https://github.com/arvidn/libtorrent)上下载源码libtorrent-RC_2_0。需要注意,在GitHub中下载会遗漏deps目录下两个文件夹中的内容,需要在GitHub中对这两个文件夹分别下载,再拷贝到相应目录下。

libtorrent源码准备完成后,首先进行依赖包的安装:

$ sudo apt install libboost-tools-dev libboost-dev libboost-system-dev

然后开始编译安装:

$ echo "using gcc ;" >>~/user-config.jam
$ b2 cxxstd=14     //注意一定要指定使用 C++ 14标准
$ sudo b2 install --prefix=/usr/local cxxstd=14

因脚本设置原因,需要将编译完成的静态库libtorrent.a拷贝到/usr/local/lib目录下。

Libtorrent的源码中包含有示例程序,位于源码文件夹中的example目录下。在安装好libtorrent后可编译该示例进行测试。编译方法如下:

首先更改example下的CMakeLists.txt文档中的内容,修改内容见下面代码的19和27行:

project(libtorrent-examples)set(single_file_examplessimple_clientcustom_storagestats_countersdump_torrentdump_bdecodemake_torrentconnection_testerupnp_test)if(CMAKE_CXX_COMPILER_ID MATCHES Clang)add_compile_options(-Wno-implicit-int-float-conversion)
endif()foreach(example ${single_file_examples})add_executable(${example} "${example}.cpp")target_link_libraries(${example} PRIVATE torrent-rasterbar torrent try_signal pthread)  //增加 torrent try_signal pthread
endforeach(example)add_executable(client_testclient_test.cppprint.cpptorrent_view.cppsession_view.cpp)
target_link_libraries(client_test PRIVATE torrent-rasterbar pthread torrent try_signal)  //增加 pthread torrent try_signal

然后编译示例程序

$ mkdir build    // cd至 example目录下新建 build目录
$ cd build       //进入 build目录下
$ cmake ..       //通过 CMakeLists.txt文件生成 Makefile文件
$ make           //执行编译

编译完成后会生成多个测试用例,使用下载好的种子文件进行测试。

Ubuntu下的LibTorrent库编译相关推荐

  1. 《视觉SLAM十四讲》第四讲-ubuntu下安装Sophus库出现问题及解决办法

    这里写自定义目录标题 写在前面 1.安装指令: 2.编译过程中出现的问题及解决办法: 问题1: 问题2: 3.使用过程中出现的问题 参考链接 写在前面 本文转载自: [1] haxiongha. ub ...

  2. ubuntu安装python库_Python安装:如何在ubuntu下安装python库

    上面介绍到了python安装中如何在Windows下按章python库,接下来上海python培训小编介绍另外一种方法:如何在ubuntu下安装python库. 在ubuntu下进行python库的安 ...

  3. ubuntu java反编译,[原创]Ubuntu下简单配置反编译工具以及其开发环境

    0x0:前言 个人电脑重新换了下系统,Ubuntu14.04,刚好需要配置下android的反编译环境,这里简单记录一下,以供有需要的朋友参考. 其实最简单的,只需要apktool就可以了,不过有编码 ...

  4. ubuntu下C编程,编译基础( 转)

    buntu下C编程,编译基础 C 编程中相关文件后缀 .a 静态库 (archive) .c C源代码(需要编译预处理) .h C源代码头文件 .i C源代码(不需编译预处理) .o 对象文件 .s ...

  5. Ubuntu下添加boost库

    @Ubuntu下Boost库的链接 在CmakeLists.txt中添加Boost组件 Boost具有很好的平台独立性,因此可以作为首选api来完成特定功能. 最常用的为filesystem,用来获取 ...

  6. 关于MFC下使用MTL库编译错误的问题

    在使用Matrix Template Library(MTL)库进行矩阵运算还是很给力的,但是遇到了一个比较悲剧的问题就是,在控制台程序中一切完美,而在MFC下使用该库会编译不过去,(编译环境VS20 ...

  7. ubuntu下vscode使用cmake编译运行c++配置文件

    在gcc/g++能编译运行c++的情况下,使用cmake编译只需要修改以下两个文件. launch.json {// 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述./ ...

  8. Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤

    在 CUDA_Test  工程中,CUDA测试代码之前仅支持在Windows10 + VS2013编译,今天在Ubuntu 14.04下写了一个CMakeLists.txt文件,支持在Linux下也可 ...

  9. ubuntu下SFML小游戏编译报错

    SFML CMakeLists SFML库的安装 编译报错 SFML库的安装 sudo apt-get sudo apt-get install libsfml-dev ubuntu会将库文件安装到/ ...

  10. ubuntu下android源码编译环境,ubuntu12.04 64位上搭建android源码编译环境

    1.首先替换源为163的源,默认源下载速度太慢 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表) sudo ...

最新文章

  1. 创建第一个IOS项目
  2. 类型名称了解typename的双重意义
  3. Redis 分布式方案Redis Cluster
  4. flash as3与后台php交互用户注册例子,as3与PHP后台交互2
  5. 极客学院视频源码资料
  6. NeHe OpenGL第三十二课:拾取游戏
  7. 蓝桥杯 ADV-234 算法提高 字符串跳步
  8. Python 中的 if __name__ == '__main__'
  9. TwinCAT软件部分参数介绍
  10. 在CentOS Linux系统上,启用ssh服务
  11. 免费版网络验证系统的全自动发卡功能
  12. VSAN磁盘组更换硬盘
  13. JavaScript常见面试题
  14. MySQL报错1677
  15. 元数据管理——企业数据治理的基石
  16. 手柄映射键盘_创新设计的多模手柄,北通宙斯T6精英机械游戏手柄体验点评
  17. 「自控原理」4.2 根轨迹法分析与校正
  18. 另辟蹊径!公众号留言功能新思路
  19. 期货柜台怎样进行配置?
  20. 1.注册msn邮箱 2.使用MSN

热门文章

  1. 线阵相机与面阵相机的区别
  2. mysql 2037年_Correct way to store MySQL date after year 2037
  3. [IOS APP]婷婷诗教-有声系列
  4. 硬件工程师学习英语必备
  5. 【转】Endnote X3破解版和教程
  6. Silvaco_VP_INIT
  7. 线性系统理论(不断更新中)
  8. 靠谱助手微信版 v1.0 pc版
  9. VSCode创建vue模板(快捷方便)
  10. Markdown编辑器-MarkdownPad下载与安装(win10)