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

编译KArchive在windows10下

使用QT6和VS2019编译KArchive的简要步骤:

  • 安装 Qt ,我是用源码自己编译的  "F:\qtbuild"
  • 安装CMakefile并配置环境变量
  • 安装Git
  • 下载ECM源码 https://github.com/KDE/extra-cmake-modules.git
  • ---------------------------------------------------------------------------------------------------
  • 进入 extra-cmake-modules 源码目录, 使用 VS Command Prompt x64 命令行提示符: 
F:\extra-cmake-modules-master\build>mkdir build 
F:\extra-cmake-modules-master\build>cd build 
F:\extra-cmake-modules-master\build>cmake .. -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=F:\ECM; -DCMAKE_PREFIX_PATH=F:\qtbuildF:\extra-cmake-modules-master\build>nmakeF:\extra-cmake-modules-master\build>nmake  install
  • 下载KArchive源码  git clone kArchive https://github.com/KDE/karchive.git
  • 下载Zlib源码 from http://zlib.net/zlib128-dll.zipicon-default.png?t=N7T8http://zlib.net/zlib128-dll.zip put in path-to-karchive\zlib
F:\zlib-1.2.13\zlib-1.2.13\build>cmake .. -G "NMake Makefiles"  -DCMAKE_BUILD_TYPE=release
F:\zlib-1.2.13\zlib-1.2.13\build>nmake

编译好的zlib.lib库放到F:\karchive\zlib目录

  • 下载源码 bzip2(可选) Download bzip2-1.0.5-lib.zip (GnuWin)Provides native Win32 open source ports and utilitiesicon-default.png?t=N7T8http://gnuwin32.sourceforge.net/downlinks/bzip2-lib-zip.php 放到F:\karchive\bzip2
  • 下载 libLZMA(可选) (需要自行编译), GitHub - kobolabs/liblzmaContribute to kobolabs/liblzma development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/kobolabs/liblzma) 编译好之后放在F:\karchive\libLZMA目录
  • 进入F:\kArchive目录: mkdir build && cd build && F:\karchive-master\build>cmake .. -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=F:\karchive_install_dir -DCMAKE_BUILD_TYPE=release -DCMAKE_PREFIX_PATH=F:\karchive_install_dir;F:\qtbuild;..\zlib;..\bzip2;

报错:

-- Could NOT find ECM (missing: ECM_DIR)

F:\karchive-master\build>cmake .. -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=F:\karchive_install_dir -DCMAKE_BUILD_TYPE=release -DCMAKE_PREFIX_PATH=F:\karchive_install_dir;F:\qtbuild;..\zlib;..\bzip2;-- The C compiler identification is MSVC 19.29.30147.0
-- The CXX compiler identification is MSVC 19.29.30147.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find ECM (missing: ECM_DIR)
--* ECM (required version >= 5.240.0), Extra CMake Modules., <https://commits.kde.org/extra-cmake-modules>CMake Error at C:/Program Files/CMake/share/cmake-3.25/Modules/FeatureSummary.cmake:464 (message):feature_summary() Error: REQUIRED package(s) are missing, aborting CMakerun.
Call Stack (most recent call first):CMakeLists.txt:9 (feature_summary)

修改CMakeLists.txt文件中的 : find_package(ECM 5.240.0  NO_MODULE)

改为指定ECM的安装目录:

set(ECM_DIR  "F:\\ECM\\share\\ECM")
find_package(ECM REQUIRED PATHS ${ECM_DIR})

继续cmake,提示找不见QT6的安装目录:

Installing in C:/karchive_install_dir. Run F:/karchive-master/build/prefix.sh to set the environment for KArchive.
-- Could not set up the appstream test. appstreamcli is missing.
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
CMake Error at CMakeLists.txt:25 (find_package):Could not find a package configuration file provided by "Qt6Core"(requested version 6.4.0) with any of the following names:Qt6CoreConfig.cmakeqt6core-config.cmake

 在cmake命令末尾添加QT6的安装路径:

F:\karchive-master\build>cmake .. -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=F:\karchive_install_dir -DCMAKE_BUILD_TYPE=release -DCMAKE_PREFIX_PATH=F:\karchive_install_dir;F:\qtbuild;..\zlib;..\bzip2;C:\Qt7Dev\6.4.0\msvc2019_64;
  • 执行  nmake install
  • 编译成功,KF6Archive.dll和KF6Archive.lib安装在 F:\karchive_install_dir目录

相关文章:

编译KArchive在windows10下

使用QT6和VS2019编译KArchive的简要步骤&#xff1a; 安装 Qt &#xff0c;我是用源码自己编译的 "F:\qtbuild"安装CMakefile并配置环境变量安装Git下载ECM源码 https://github.com/KDE/extra-cmake-modules.git-------------------------------------------------…...

【Python】批量下载页面资源

【背景】 有一些非常不错的资源网站,比如一些MP3资源网站。资源很丰富,但是每一个资源都不大,一个一个下载费时费力,想用Python快速实现可复用的批量下载程序。 【思路】 获得包含资源链接的静态页面,用beautifulsoup分析页面,获得所有MP3资源的实际地址,然后下载。…...

Windows NUMA编程实践 – 处理器组、组亲和性、处理器亲和性及版本变化

Windows在设计之初没有考虑过对大数量的多CPU和NUMA架构的设备的支持&#xff0c;大部分关于CPU的设计按照64个为上限来设计。核心数越来越多的多核处理器的进入市场使得微软不得不做较大的改动来进行支持&#xff0c;因此Windows 的进程、线程和NUMA API在各个版本中行为不一样…...

MATLAB中编译器中的变量联系到Simulink

MATLAB中编译器中的变量联系到Simulink 现在编译器中创建变量&#xff0c;进行编译&#xff0c;使其生成在工作区。 然后在Simulink中国使用变量即可。...

开展自动化方案时,需要考虑哪些内容,开展实施前需要做哪些准备呢?

在开展软件自动化测试方案时&#xff0c;需要考虑以下方面&#xff1a; 选择合适的自动化测试工具&#xff1a;根据项目的需求和技术栈选择适合的自动化测试工具&#xff0c;如Selenium、Appium、Jenkins等。确定自动化测试范围&#xff1a;明确需要自动化的功能模块和业务场景…...

进程、线程、内存管理

目录 进程和线程区别 进程和线程切换的区别 系统调用流程 系统调用是否会引起线程切换 为什么需要使用虚拟内存 进程和线程区别 本质区别&#xff1a; 进程是资源分配的基本单元。 线程是操作系统调度的基本单元。 地址空间&#xff1a; 进程具有独立的虚拟地址空间。 线程…...

设计模式系列-创建者模式

一、上篇回顾 上篇我们主要讲述了抽象工厂模式和工厂模式。并且分析了该模式的应用场景和一些优缺点&#xff0c;并且给出了一些实现的思路和方案,我们现在来回顾一下&#xff1a; 抽象工厂模式&#xff1a;一个工厂负责所有类型对象的创建&#xff0c;支持无缝的新增新的类型对…...

加工生产调度

题目描述 某工厂收到了 n 个产品的订单&#xff0c;这 n 个产品分别在 A、B 两个车间加工&#xff0c;并且必须先在 A 车间加工后才可以到 B 车间加工。 某个产品 在 A&#xff0c;B 两车间加工的时间分别为 。怎样安排这 n 个产品的加工顺序&#xff0c;才能使总的加工时间…...

Hadoop 集群小文件归档 HAR、小文件优化 Uber 模式

文章目录 小文件归档 HAR小文件优化 Uber 模式 小文件归档 HAR 小文件归档是指将大量小文件合并成较大的文件&#xff0c;从而减少存储开销、元数据管理的开销以及处理时的任务调度开销。 这里我们通过 Hadoop Archive (HAR) 来进行实现&#xff0c;它是一种归档格式&#xf…...

Android OkHttp源码阅读详解一

博主前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住也分享一下给大家 &#x1f449;点击跳转到教程 前言&#xff1a;源码阅读基于okhttp:3.10.0 Android中OkHttp源码阅读二(责任链模式) implementation com.squareup.o…...

UG\NX CAM二次开发 查询工序所在的方法组TAG UF_OPER_ask_method_group

文章作者:代工 来源网站:NX CAM二次开发专栏 简介: UG\NX CAM二次开发 查询工序所在的方法组TAG UF_OPER_ask_method_group 效果: 代码: void MyClass::do_it() { int count=0;tag_t * objects;UF_UI_ONT_ask_selected_nodes(&count, &objects);for (i…...

npm获取函数名称和测试js脚本

这边遇到一个类似于测试的需求&#xff0c;需要从一个js文件里获取函数名&#xff0c;然后尝试执行这些函数和创建实例。这边首先遇到了一个问题是如何动态获取js里的函数名和类名&#xff0c;我这边暂时没找到特别好的方法&#xff0c;已有的方法都是类似于提取语法树那种提取…...

ISO/IEC/ITU标准如何快速查找(三十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…...

git私房菜

文章目录 1、公司项目开发Git协作流程2、合并相关的操作3、Git常用命令总结 公司中如何使用Git协同开发的&#xff1f;本文将具体介绍开发模式&#xff0c;以及一些常用命令。 1、公司项目开发Git协作流程 公司一个完整的项目出来&#xff0c;项目的推进是在主分支master上进行…...

docker安装grafana,prometheus,exporter以及springboot整合详细教程(GPE)

springboot项目ip:192.168.168.1 测试服务器ip:192.168.168.81 文章来自互联网,自己略微整理下,更容易上手,方便自己,方便大家 最终效果: node springboot 1.下载镜像 docker pull prom/node-exporter docker pull prom/mysqld-exporter docker pull google/cadvisor dock…...

cka/ckad应试指南 从docker到kubernetes完全攻略

《cka/ckad应试指南 从docker到kubernetes完全攻略》 段超飞 docker 1-安装并配置docker&#xff0c;yum源&#xff0c;docker下载慢 2-基本命令&#xff1a;镜像管理&#xff0c;基本命令&#xff0c;创建容器 3-网络&#xff0c;存储卷&#xff0c;镜像仓库&#xff0c; 4-do…...

js中如何使用可选函数参数

js是网络的核心技术之一。大多数网站都使用它&#xff0c;并且所有现代网络浏览器都支持它&#xff0c;而不需要插件。在本文中&#xff0c;我们将讨论不同的提示和技巧&#xff0c;它们将帮助您进行日常 JavaScript 开发。 在 JavaScript 编码中&#xff0c;您经常需要将函数…...

基于Open3D的点云处理17-Open3d的C++版本

参考&#xff1a; http://www.open3d.org/docs/latest/cpp_api.htmlhttp://www.open3d.org/docs/latest/getting_started.html#chttp://www.open3d.org/docs/release/cpp_project.html#cplusplus-example-projecthttps://github.com/isl-org/open3d-cmake-find-packagehttps:/…...

GIT相关内容总结

Git相关内容总结 Git的功能Git常见命令 Git的功能 Git是版本控制工具。版本控制就是记录你对文件做的所有改动的一个系统&#xff0c;包括改动的内容&#xff0c;改动的时间&#xff0c;改动的备注等&#xff0c;便于你恢复特定的版本。 版本控制系统分为本地版本控制系统&…...

golang清空数组的方法

在Go语言中&#xff0c;数组是固定长度的数据结构&#xff0c;无法直接清空。但是&#xff0c;你可以通过以下两种方法来模拟清空数组的效果&#xff1a; 使用切片&#xff08;Slicing&#xff09;&#xff1a; 切片是动态长度的&#xff0c;可以用来清空数组。你可以创建一个…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...