MAC 手动编译 build qBittorrent
起因
最近毕业压力比较大,想在北邮人上下载个电影看看,放松下。却发现一直使用的做种下载工具qBittorrent无法打开了。在网上寻找了半天原因和解决方案。
最终确认是MAC更新的锅,qBittorrent 属于认证不完整的应用:Issue 11570。
解决方案有二:
- 禁掉APPLE的安全检查
- 自己手动编译一遍应用
由于某些原因,我无法对MAC做过多的系统更改。只好尝试第二个解决方案。事实证明,手动编译qBittorrent并不简单,一下午就此度过,电影也不用看了。为方便有相同问题的同学参考,我记录我的解决方案于此。因为在我编译构建过程中,网上并没有类似的教程或是参考,而且确实有不少坑。
步骤
如果之前没有QT环境,./configure
会报找不到qmake
的错误。需要配置相应的环境。
1 | brew install qt |
如果之前没有boost
环境,会报找不到boostlib
的错误:
1 | checking for boostlib >= 1.65 (106500)... configure: We could not detect the boost libraries (version 1.65 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation. |
需要安装boost
环境。
1 | brew install boost |
1 | brew install libtorrent-rasterbar |
如果遇到报错,
1 | Error: Directory not empty @ dir_s_rmdir - /usr/local/opt/openssl |
可以删掉对应文件夹或是更改其所有人chown
.
1 | brew cleanup |
在我brew install libtorrent-rasterbar
后再./configure
时,仍然会发生该库版本不对的问题:
1 | Requested 'libtorrent-rasterbar >= 1.2.11' but version of libtorrent-rasterbar is 1.2.10 |
因为brew
的formula中只有1.2.10,我们只好手动编译一个新版了。
去github找到libtorrent-rasterbar对应版本的源码:download。按照文档中的构建说明编译安装即可。
对于MAC来说:
1 | brew install boost-build boost openssl@1.1 |
1 | export libtorrent_LIBS="-L/usr/local/lib" |
除此之外,你还可以参考官网的另外一些编译构建文档. 这里提供了使用CMake或QT Creator的编译方案。