C++ ariac2 Windows库编译

news2024/10/7 2:18:34

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.coloradmin.cn/o/1887138.html

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

相关文章

探囊取物之多形式注册页面(基于BootStrap4)

基于BootStrap4的注册页面,支持手机验证码注册、账号密码注册 低配置云服务器,首次加载速度较慢,请耐心等候;演练页面可点击查看源码 预览页面:http://www.daelui.com/#/tigerlair/saas/preview/ly4gax38ub9j 演练页…

墨烯的Java技术栈-数据结构与算法基础-010

(前言 这是在之前容器很多的不知名的名词 想着与其一个个解释不如直接重温一遍数据结构) 一.概念 程序 数据结构 算法 程序的本质 数据结构经常可以说为计算机内功(心法) 而编程能力就是招式(法术) 考研 必考专业课 一共四门专业课 共150分 找工作更不用说:面试主要考…

AcWing 1256:扩展二叉树

【题目来源】https://www.acwing.com/problem/content/1258/【题目描述】 由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树,所以对二叉树做如下处理,将二叉树的空结点用 补齐,如图所示。 我们把这样处理后的二叉树称为原二叉树…

Linux系统之 — 线程

Linux系统之 — 线程 线程介绍线程使用死锁(Deadlock)竞态条件(Race Condition) 线程使用示例服务器端代码示例服务器端示例拆解1. 引入头文件和宏定义2. 定义全局变量3. 定义线程函数4. 主函数5. 错误处理和资源释放 客户端代码示…

谷歌重磅:告别RAG,长上下文的大语言模型无需检索增强

当今人工智能领域正在经历一场静默的革命。随着大语言模型(LLM)的快速发展,它们不仅能够处理更长的上下文,还展现出惊人的推理和检索能力。 难道我们要告别基于LLM的检索增强生成(RAG)了吗? 结果还真是这样,最近谷歌发布专门用于…

k8s公网集群安装(1.23.0)

网上搜到的公网搭建k8s都不太一致, 要么说的太复杂, 要么镜像无法下载, 所以写了一个简洁版,小白也能一次搭建成功 使用的都是centos7,k8s版本为1.23.0 使用二台机器搭建的, 三台也是一样的思路1.所有节点分别设置对应主机名 hostnamectl set-hostname master hostnamectl set…

一文搞懂 java 线程池:ThreadPoolExecutor 和 FixedThreadPool 原理

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

数据结构-排序算法篇

前言 在我们的生活中有很多东西都是有大小的,那么该如何去排序?假设有10个数字要你去排序,眼睛一扫就看出来了,那100、1000、10000要怎么去排?下面就为大家介绍各种排序的算法。 内容 1.冒泡排序 2.选择排序 3.插入…

某Dota/IM对战平台玩家助手、查看战绩下、胜率等

功能说明 WAR3游戏启动后,可以自动获取游戏双方的玩家列表,然后查询显示玩家的战绩及个人信息。附带查看玩家的战绩详情、最近游戏,查看对手及友方的战绩详情,据此推算出是否开黑、是否小号等信息 使用方法及运行效果 启动 查…

武汉星起航:贴心服务引领,跨境电商成功启航

在当今全球互联互通日益加强的背景下,跨境电商已经跃升为驱动国际贸易繁荣的重要引擎。作为全球电商领域的翘楚,亚马逊坚守公平、公正、透明的商业准则,为全球卖家搭建了一个值得信赖的交易平台。在这个平台上,众多卖家通过提升产…

如何指定Microsoft Print To PDF的输出路径

在上一篇文章中,介绍了三种将文件转换为PDF的方式。默认情况下,在Microsoft Print To PDF的首选项里,是看不到输出路径的设置的。 需要一点小小的手段。 运行输入 control 打开控制面板,选择硬件和声音下的查看设备和打印机 找到…

Django 多对多关系

多对多关系作用 Django 中,多对多关系模型的作用主要是为了表示两个模型之间的多对多关系。具体来说,多对多关系允许一个模型的实例与另一个模型的多个实例相关联,反之亦然。这在很多实际应用场景中非常有用,比如: 博…

Ceyear®VSA 信号分析软件

CeyearVSA 信号分析软件 CeyearVSA 矢量信号分析软件 CeyearVSA 矢量信号分析软件将信号分析体验和测试应用于桌面,帮助排查问题并优化设计。 CeyearVSA 矢量信号分析软件结合仪表支持在线解调分析,也可支持信号导入离线分析;软件具有多种…

搜狐新闻HarmonyOS版本 push 推送开发

背景 搜狐新闻作为HarmonyOS的合作伙伴,于2023年12月成功上架鸿蒙单框架应用市场,成为首批鸿蒙应用矩阵的一员。 新闻类推送作为应用的重要组成部分,在二期规划中,我们将推送功能列为核心功能模块。本文将推送集成过程中的步骤和…

oracle体系结构详解(实例+数据文件)

提示:主要总结oracle数据库:物理结构,逻辑结构,内存结构以及oracle进程 文章目录 Oracle服务器由(实例和数据库文件组成)1、实例2、数据文件1.oracle物理体系结构2.oracle数据库逻辑结构3oracle数据库内存结…

Log4j日志框架讲解(全面,详细)

Log4j概述 Log4j是Apache下的一款开源的日志框架,通过在项目中使用 Log4J,我们可以控制日志信息输出到控制台、文件、甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出级别,可以 更灵活的控制日志的输出过程…

【前端vue3】TypeScrip-类型推论和类型别名

类型推论 TypeScript里,在有些没有明确指出类型的地方,类型推论会帮助提供类型。 例如: 变量xiaoc被推断类型为string 如重新给xiaoc赋值数字会报错 let xiaoc "xiaoc"xiaoc 1111111111111如没有给变量指定类型和赋值&#xf…

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

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

RabbitMQ进阶篇

文章目录 发送者的可靠性生产者重试机制实现生产者确认 MQ的可靠性数据持久化交换机持久化队列持久化消息持久化 Lazy Queue(可配置~)控制台配置Lazy模式代码配置Lazy模式更新已有队列为lazy模式 消费者的可靠性消费者确认机制失败重试机制失败处理策略 业务幂等性唯一消息ID业…

编译libvlccpp

首先下载vlc sdk https://get.videolan.org/vlc/3.0.9.2/win64/vlc-3.0.9.2-win64.7z Cmake 生成libvlccpp vs2022工程文件 编译libvlccpp 编译出错需修改代码 错误信息: \VLC\sdk\include\vlc/libvlc_media.h(368): error C2065: “libvlc_media_read_cb”: 未…