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/


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言笔记27 •单链表介绍•

1.链表的概念及结构 链表是⼀种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的。 2. 顺序表带来的问题 (1)中间/头部的插⼊删除,时间复杂度为O(N) (2)增容需要申请新空间,拷⻉数据&#xff…

【Redis7】零基础篇

1 课程概述 2 Redis入门概述 2.1 是什么 Redis是基于内存的KV键值对内存数据库 Redis:Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构&#xff0c…

阿里Nacos下载、安装(保姆篇)

文章目录 Nacos下载版本选择Nacos安装Windows常见问题解决 更多相关内容可查看 Nacos下载 Nacos官方下载地址:https://github.com/alibaba/nacos/releases 码云拉取(如果国外较慢或者拉取超时可以试一下国内地址) //国外 git clone https:…

Kafka 管理TCP连接

生产者管理TCP连接 Kafka生产者程序概览 Kafka的Java生产者API主要的对象就是KafkaProducer。通常我们开发一个生产者的步骤有4步: 第1步:构造生产者对象所需的参数对象。 第2步:利用第1步的参数对象,创建KafkaProducer对象实例…

自定义控件动画篇(三)ValueAnimator的使用

ValueAnimator 是 Android 属性动画系统的一部分,允许你创建基于值的动画而不仅仅是基于 UI 控件的动画。它可以用来改变任何类型的数据,如整数、浮点数、颜色值等,然后你可以利用这些变化的值来更新你的 UI 或执行其他逻辑。以下是 ValueAni…

SpringBoot工程中测试Groovy代码

Groovy 代码 def testWithoutParam() {println ("这是一个没有参数的Groovy方法") }testWithoutParam()def testWithParam(String s1,String s2) {println ("这是一个有参数的Groovy方法")println (s1)println (s2) }testWithParam(s1,s2)Java 测试代码 测…

ssh网关-sshpiper

1、环境 操作系统:龙蜥os 7.9 sshpiper:1.3.1 2、下载软件 https://github.com/tg123/sshpiper/releases 3、解压到指定目录 mkdir /opt/sshpiper tar -xvf sshpiperd_with_plugins_linux_x86_64.tar.gz -C /opt/sshpipe4、添加执行权限 chmod x /o…

[开源软件] 支持链接汇总

“Common rules: 1- If the repo is on github, the support/bug link is also on the github with issues”" label; 2- Could ask questions by email list;" 3rd party software support link Note gcc https://gcc.gnu.org openssh https://bugzilla.mindrot.o…

《昇思25天学习打卡营第9天|onereal》

继续学习昨天的 基于MindNLPMusicGen生成自己的个性化音乐 生成音乐 MusicGen支持两种生成模式:贪心(greedy)和采样(sampling)。在实际执行过程中,采样模式得到的结果要显著优于贪心模式。因此我们默认启…

K6 性能测试教程:入门介绍,环境搭建和编写第一个 K6 测试脚本

K6 性能测试教程:入门介绍,环境搭建和编写第一个 K6 测试脚本 这篇文章将带您进入 K6 性能测试的世界。博文内容涵盖了 K6 性能测试的入门知识、环境搭建步骤,以及如何编写您的第一个测试脚本。无论您是初学者还是有经验的性能测试专业人员&…

详解C语言分支与循环语句

分支语句 if elseswitch 循环语句 whilefordo while goto语句 文章目录 1.什么是语句2.分支语句(选择结构)2.1 if语句2.1.1 悬空else2.1.3 练习 2.2 switch语句2.2.1 在switch语句中的break2.2.2 default子句 3.循环语句3.1 while循环3.1.1 while语句中…

【Linux进程通信】使用匿名管道制作一个简单的进程池

进程池是什么呢?我们可以类比内存池的概念来理解进程池。 内存池 内存池是在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继…

web权限到系统权限 内网学习第一天 权限提升 使用手工还是cs???msf可以不??

现在开始学习内网的相关的知识了,我们在拿下web权限过后,我们要看自己拿下的是什么权限,可能是普通的用户权限,这个连添加用户都不可以,这个时候我们就要进行权限提升操作了。 权限提升这点与我们后门进行内网渗透是乘…

C#编程命名笔记

1.变量名的命名规则->要求用“匈牙利法则” 变量类型特征位数命名规则例子bool 用b开头bUpdatesbyte有符号8位用sby开头sbyTypebyte无符号8位用by开头byTypeshort有符号16位用n开头nStepCountushort无符号16位用un开头unCountint有符号32位用i开头iCountuint(WO…

MySQL:设计数据库与操作

设计数据库 1. 数据建模1.1 概念模型1.2 逻辑模型1.3 实体模型主键外键外键约束 2. 标准化2.1 第一范式2.2 链接表2.3 第二范式2.4 第三范式 3. 数据库模型修改3.1 模型的正向工程3.2 同步数据库模型3.3 模型的逆向工程3.4 实际应用建议 4. 数据库实体模型4.1 创建和删除数据库…

Linux 磁盘空间清理

1.检查磁盘使用情况 #显示每个挂载点的磁盘使用量,以及可用空间和使用率 df -h #显示当前目录的全部文件和目录(包括隐藏的),以MB显示 ll -h 2. du查看最大的目录或文件 #逐级检查某个目录下各个子目录的大小。从根目录开始,逐级…

Linux_应用篇(25) SPI 应用编程基础

SPI基础知识 SPI(Serial Peripheral Interface,串行外设接口)是一种同步串行通信协议,广泛应用于微控制器和各种外围设备之间的数据传输。它由摩托罗拉公司在20世纪80年代开发,具有高速、全双工通信的特点&#xff0c…

基于x86+FPGA+AI轴承缺陷视觉检测系统,摇枕弹簧智能检测系统

一、承缺陷视觉检测系统 应用场景 轴类零件自动检测设备,集光、机、软件、硬件,智能图像处理等先进技术于一体,利用轮廓特征匹配,目标与定位,区域选取,边缘提取,模糊运算等算法实现人工智能高…

PCL 点云聚类(基于体素连通性)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里的思路很简单,我们通过将点云转换为体素,基于体素的连通性实现对点云的聚类(有点类似于欧式聚类),不过这种方式进行的聚类有些粗糙,但聚类速度相对会快很多,具体的实现效果可以详细阅读代码。 二、实现代…

[AIGC] Java HashMap原理解析:深入探索键值对存储和检索的内部机制

HashMap是Java中最常用的数据结构之一,它提供了高效的键值对存储和检索能力。本文将深入探索Java HashMap的内部机制,详细介绍其原理和工作流程。 文章目录 一、HashMap的数据结构二、哈希冲突处理三、哈希算法四、键值对的存储和检索五、扩容和负载因子…