windows下编译aria2,并搭建eclipse编译调试环境(一)

一直以来都用BT、磁力下载各种资源,对磁力和DHT网络协议非常好奇,特别想要学习一下,并尝试看看能不能用这些协议做一个点对点的聊天软件。

所以去查找支持这些协议的开源下载项目来研究,发现aria2这个开源项目非常主流,并且很多厂商都选它做下载内核,从而决定下载aria2源码编译、调试、学习。

由于日常电脑都用windows系统,所以就想在windows上完成本地编译和调试,为了调试方便决定搭建eclipse环境进行本地程序的可视化调试。

开干。。。

1、下载aria2源码

生成配置脚本

2、安装编译工具链

3、官方命令行编译(静态库版本)

生成配置脚本

生成Makefile

编译(静态库)

验证编译成果物

4、官方命令行编译(动态库版本)

5、搭建eclipse环境编译及调试


1、下载aria2源码

        aria2的github地址是https://github.com/aria2/aria2,我下载的是目前最新版本1.36.0。

生成配置脚本

下载代码后,详细阅读Readme,查看How to build章节,aria2使用autoconfig进行配置,命令如下

由于完全在windows环境,所以无法执行autoconfig过程,然后往官方文档下面查看,有Cross-compiling Windows binary章节,发现aria2在windows上使用mingw-w64编译,还特意强调MinGW版本不支持。

所以需要先安装mingw-w64工具链。

2、安装编译工具链

在mingw-w64官网https://www.mingw-w64.org/downloads/下载,但是有很多的发行版,按以往的经验选择MSYS2发行版https://www.msys2.org/

 按照首页的安装说明进行下载

 执行安装程序,选择合适的安装路径,默认安装即可

安装后按照说明执行软件包更新的命令

pacman -Syu

反复执行,出现所有软件包都完成更新即可

 编译使用gcc,所以安装mingw-w64版本的gcc工具链,命令如下

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

安装完成后,再执行安装命令,显示如下

 此时工具链安装完成。

3、官方命令行编译(静态库版本)

启动MSYS2 MinGW x86环境进行命令行编译

生成配置脚本

按github的Readme说明,首先执行生成配置的命令(时间较长,需耐心等待)

autoreconf -i

执行成功后,即可生成配置脚本configure和其他一些必要文件

生成Makefile

按照官方说明在windows上生成Makefile,需要执行mingw-config脚本

但是执行mingw-config脚本官方描述说需要如下库的支持

所以先要安装上述库的依赖到MSYS2中,并且版本均为mingw-w64-x86_64前缀,所有的依赖库安装命令均在https://packages.msys2.org/queue网站查找

pacman -S mingw-w64-x86_64-c-ares
pacman -S mingw-w64-x86_64-expat
pacman -S mingw-w64-x86_64-sqlite3
pacman -S mingw-w64-x86_64-zlib
pacman -S mingw-w64-x86_64-libssh2
pacman -S mingw-w64-x86_64-cppunit

 全部安装成功后,即可执行生成Makefile的命令(时间很长,需耐心等待)

HOST=x86_64-w64-mingw32 PREFIX=/mingw64 ./mingw-config > config-my.log

执行成功后,即可生成Makefile和其他必要文件

编译(静态库)

 *此版本生成的src文件夹下的Makefile有个bug,会导致g++连接时会报cares库中的某些依赖函数无法找到的错误,所以需要调整此Makefile的连接库顺序,将“-L/mingw64/lib -lcares  \”移动到第一个即可。

 修改后即可执行make命令编译(时间非常长,需耐心等待)

make V=1 > make-my.log

编译成功后,即可在src目录下,生成aria2c.exe文件

 

验证编译成果物

cmd进入到src目录,执行验证命令

aria2c.exe https://speedxbu.baidu.com/shurufa/ime/setup/BaiduPinyinSetup_5.8.4.8.exe

 执行成功后,百度输入安装包被成功下载

至此aria2的静态库版本编译和验证成功。

先写到这,过几天再完成如下后续两个章节的文章。。。

等待《windows下编译aria2,并搭建eclipse编译调试环境(二)》更新icon-default.png?t=M4ADhttps://blog.csdn.net/xiaoNature/article/details/124772639

4、官方命令行编译(动态库版本)

5、搭建eclipse环境编译及调试

        

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开猿人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值