当前位置: 首页 > news >正文

C++ ariac2 Windows库编译

cd "F:\\aria2"
gmp-6.1.2.tar.lz
expat-2.2.0.tar.bz2
sqlite-autoconf-3160200.tar.gz
zlib-1.2.11.tar.gz
c-ares-1.12.0.tar.gz
libssh2-1.8.0.tar.gz

--enable-libaria2
--enable-static

libgnutls-dev(对于HTTPS,BitTorrent,校验和支持是必需的)
nettle-dev(对于BitTorrent,校验和支持)
libgmp-dev(对于BitTorrent是必需的)
libssh2-1-dev(SFTP支持需要)
libc-ares-dev(需要异步DNS支持)
libxml2-dev(Metalink支持需要)
zlib1g-dev(对于gzip必需,在HTTP中支持解压缩)
libsqlite3-dev(适用于Firefox3 / Chromium cookie支持)
pkg-config(用于检测已安装的库)

apt-cyg安装工具设置   https://blog.csdn.net/jinguangliu/article/details/79657456    
./autogen.sh
autoscan
aclocal
autoheader
automake --add-missing
autoreconf  -ivf
autoconf


./configure
./configure ARIA2_STATIC = yes
export CXXFLAGS="-g -O2 -mwindows"     //无控制台启动aria2.exe
make
HOST = x86_64-w64-mingw32 ./mingw-config
i686-w64-mingw32


#ifdef BUILD_DLL
    #define DLL_EXPORT __declspec(dllexport)
#else
    #define DLL_EXPORT __declspec(dllimport)
#endif

ARIA2_DLL_API int64_t             extern "C" int64_t ARIA2_DLL_API
ARIA2_DLL_API int             extern "C" int ARIA2_DLL_API
ARIA2_DLL_API void             extern "C" void ARIA2_DLL_API
ARIA2_DLL_API bool             extern "C" bool ARIA2_DLL_API
ARIA2_DLL_API A2Gid             extern "C" A2Gid ARIA2_DLL_API
ARIA2_DLL_API DownloadHandle*             extern "C" DownloadHandle* ARIA2_DLL_API
ARIA2_DLL_API DownloadStatus             extern "C" DownloadStatus ARIA2_DLL_API
ARIA2_DLL_API Session*      extern "C" Session* ARIA2_DLL_API
ARIA2_DLL_API time_t      extern "C" time_t ARIA2_DLL_API
ARIA2_DLL_API BtFileMode      extern "C" BtFileMode ARIA2_DLL_API
ARIA2_DLL_API size_t      extern "C" size_t ARIA2_DLL_API

extern "C" int ARIA2_DLL_API64_t           extern "C" int64_t ARIA2_DLL_API


//vs开发人员工具命令行
pexports libaria2-0.dll>libaria2-0.def
lib /def:libaria2-0.def /machine:i386 /out:libaria2-0.lib

我这里是直接修改Qt编译后的配置,找到
QTDIR/mkspec/win32-g++ /qmake.conf,QMAKE_LFLAGS = -static-libgcc -static-libstdc++改成这样,
这段代码是去掉了对上面所说两个动态链接库的动态调用依赖.

Windows下特殊处理

#define CXX11_OVERRIDE override
#define PACKAGE_VERSION 0
typedef size_t ssize_t;
#include "pch.h"
#define NOMINMAX
 

参考

GitHub - jashking/aria2: aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.

http://wangjie.rocks/2017/02/12/build-aria2/

https://github.com/aria2/aria2.git

https://github.com/geetam/qaria/tree/master/src

https://github.com/manox14/qtaria

dll.a和lib 引用MinGW生成的dll.a后出现的问题_生成了dll.a-CSDN博客

https://github.com/imazes/aria2_ctl

https://github.com/cool2528/aria2cengine.git

https://github.com/jashking/aria2/blob/master/src/includes/aria2/aria2.h

http://wangjie.rocks/2017/02/12/build-aria2/


创作不易,小小的支持一下吧!

相关文章:

  • 【Node-RED 4.0.2】4.0版本新增特性(官方版)
  • 智能洗车管理系统设计
  • 安装llama_factory
  • HttpUtils工具类
  • base64字符串空格问题
  • 【智能算法】目标检测算法
  • doris集群物理部署保姆级教程
  • 深入理解 RabbitMQ、RocketMQ等常⽤的消息中间件进⾏消息的异步数据处理
  • 使用 PHP 和 Selenium WebDriver 实现爬虫
  • 数据质量管理-可访问性管理
  • 从零搭建Prometheus到Grafana告警推送
  • Ansible自动化部署
  • pdf拆分,pdf拆分在线使用,pdf拆分多个pdf
  • 主干网络篇 | YOLOv5/v7 更换骨干网络之 MobileNetV3 | 基于神经网络搜索的轻量级网络
  • Ubuntu20.04安装vimplus插件
  • css系列之关于字体的事
  • ES2017异步函数现已正式可用
  • HashMap ConcurrentHashMap
  • Intervention/image 图片处理扩展包的安装和使用
  • JavaScript 基础知识 - 入门篇(一)
  • JavaWeb(学习笔记二)
  • leetcode386. Lexicographical Numbers
  • markdown编辑器简评
  • Redash本地开发环境搭建
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 大型网站性能监测、分析与优化常见问题QA
  • 如何胜任知名企业的商业数据分析师?
  • scrapy中间件源码分析及常用中间件大全
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ###项目技术发展史
  • #职场发展#其他
  • $.ajax()参数及用法
  • (+4)2.2UML建模图
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (arch)linux 转换文件编码格式
  • (windows2012共享文件夹和防火墙设置
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (十六)串口UART
  • (转)重识new
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .Family_物联网
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET 使用配置文件
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET开发人员必知的八个网站
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .NET中winform传递参数至Url并获得返回值或文件
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • ??myeclipse+tomcat
  • @SpringBootApplication 包含的三个注解及其含义