前言
這個庫aria2c是一個支持多種方式且輕量級的下載工具, 可以支持bt,pt,磁力等下載。 由於這些天接觸了aria2c開源庫,在windows、Linux、Android各個平臺都編譯過。並且瞭解瞭如何使用autoconf、automake工具自動生成makefile文件等等。
以下介紹在linux(Ubantu)下安裝過程。
一、下載相關庫文件
具體下載庫文件可以參考官方文檔:https://aria2.github.io/manual/en/html/README.html#how-to-build
apt-get update
apt-get install libgnutls28-dev nettle-dev libgmp-dev libssh2-1-dev libc-ares-dev libxml2-dev zlib1g-dev libsqlite3-dev pkg-config libcppunit-dev autoconf automake autotools-dev autopoint libtool git gcc g++ libxml2-dev make quilt
如果哪個庫沒有安裝成功,可以單獨安裝。
二、下載最新開源庫aria2c
從github下載最新開源庫aria2c:https://github.com/aria2/aria2.git
或者直接使用命令行下載:
git clone https://github.com/aria2/aria2.git
三、編譯
autoreconf -i
./configure
make
說明:
1、autoreconf -i 命令,相當於執行了autoconf,automake等命令。自動生成configure等文件,如下圖所示。
可以清晰看到編譯器,還有安裝了哪些庫文件。在編譯鏈接的時候需要哪些信息參數信息等等。
2、./configure命令,生成Makefile、config.h等文件。並且還檢測程序相關庫安裝情況。
3、make直接生成可執行程序aria2c,。(可執行程序默認在ara2c/src/目錄中)
另外,如果我們想自己寫makefile文件的話,我們可以打印make生成的信息,然後自己寫一個makefile文件。
(eg: make -n>makelog.txt 然後查看makelog.txt)
四、裁剪可執行文件
默認是動態鏈接生成的可執行文件,同時也包含了許多調試信息,可執行文件比較大,可以通過x86_64-linux-gnu-strip(默認路徑:/usr/bin/x86_64-linux-gnu-strip )去除調試等消息,留下一個輕巧版的可執行文件aria2c(也算是release版本)。(詳細可以參考Windows上的mingw-release文件)。
五、其他平臺
Windows上的交叉編譯:http://wangjie.rocks/2017/02/12/build-aria2/
Android平臺上:https://github.com/Saint-Theana/aria2-android-build/tree/master/arm-androideabi
使用Docker: 編譯 windows x64 版 Aria2
六、參考
https://www.lucktang.com/2559.html
https://npchk.info/debian-aria2-install/
https://everdream.xyz/2017/08/aria2c-spam/