Ubuntu下的LibTorrent库编译
在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库编译相关推荐
- 《视觉SLAM十四讲》第四讲-ubuntu下安装Sophus库出现问题及解决办法
这里写自定义目录标题 写在前面 1.安装指令: 2.编译过程中出现的问题及解决办法: 问题1: 问题2: 3.使用过程中出现的问题 参考链接 写在前面 本文转载自: [1] haxiongha. ub ...
- ubuntu安装python库_Python安装:如何在ubuntu下安装python库
上面介绍到了python安装中如何在Windows下按章python库,接下来上海python培训小编介绍另外一种方法:如何在ubuntu下安装python库. 在ubuntu下进行python库的安 ...
- ubuntu java反编译,[原创]Ubuntu下简单配置反编译工具以及其开发环境
0x0:前言 个人电脑重新换了下系统,Ubuntu14.04,刚好需要配置下android的反编译环境,这里简单记录一下,以供有需要的朋友参考. 其实最简单的,只需要apktool就可以了,不过有编码 ...
- ubuntu下C编程,编译基础( 转)
buntu下C编程,编译基础 C 编程中相关文件后缀 .a 静态库 (archive) .c C源代码(需要编译预处理) .h C源代码头文件 .i C源代码(不需编译预处理) .o 对象文件 .s ...
- Ubuntu下添加boost库
@Ubuntu下Boost库的链接 在CmakeLists.txt中添加Boost组件 Boost具有很好的平台独立性,因此可以作为首选api来完成特定功能. 最常用的为filesystem,用来获取 ...
- 关于MFC下使用MTL库编译错误的问题
在使用Matrix Template Library(MTL)库进行矩阵运算还是很给力的,但是遇到了一个比较悲剧的问题就是,在控制台程序中一切完美,而在MFC下使用该库会编译不过去,(编译环境VS20 ...
- ubuntu下vscode使用cmake编译运行c++配置文件
在gcc/g++能编译运行c++的情况下,使用cmake编译只需要修改以下两个文件. launch.json {// 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述./ ...
- Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤
在 CUDA_Test 工程中,CUDA测试代码之前仅支持在Windows10 + VS2013编译,今天在Ubuntu 14.04下写了一个CMakeLists.txt文件,支持在Linux下也可 ...
- ubuntu下SFML小游戏编译报错
SFML CMakeLists SFML库的安装 编译报错 SFML库的安装 sudo apt-get sudo apt-get install libsfml-dev ubuntu会将库文件安装到/ ...
- ubuntu下android源码编译环境,ubuntu12.04 64位上搭建android源码编译环境
1.首先替换源为163的源,默认源下载速度太慢 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表) sudo ...
最新文章
- 创建第一个IOS项目
- 类型名称了解typename的双重意义
- Redis 分布式方案Redis Cluster
- flash as3与后台php交互用户注册例子,as3与PHP后台交互2
- 极客学院视频源码资料
- NeHe OpenGL第三十二课:拾取游戏
- 蓝桥杯 ADV-234 算法提高 字符串跳步
- Python 中的 if __name__ == '__main__'
- TwinCAT软件部分参数介绍
- 在CentOS Linux系统上,启用ssh服务
- 免费版网络验证系统的全自动发卡功能
- VSAN磁盘组更换硬盘
- JavaScript常见面试题
- MySQL报错1677
- 元数据管理——企业数据治理的基石
- 手柄映射键盘_创新设计的多模手柄,北通宙斯T6精英机械游戏手柄体验点评
- 「自控原理」4.2 根轨迹法分析与校正
- 另辟蹊径!公众号留言功能新思路
- 期货柜台怎样进行配置?
- 1.注册msn邮箱 2.使用MSN