当前位置: 首页 > 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;可以用来清空数组。你可以创建一个…...

DeepFace模型预下载全攻略:从根源解决首次运行痛点

DeepFace模型预下载全攻略&#xff1a;从根源解决首次运行痛点 【免费下载链接】deepface A Lightweight Face Recognition and Facial Attribute Analysis (Age, Gender, Emotion and Race) Library for Python 项目地址: https://gitcode.com/GitHub_Trending/de/deepface …...

lychee-rerank-mm与LangChain整合:构建智能文档检索系统

lychee-rerank-mm与LangChain整合&#xff1a;构建智能文档检索系统 1. 引言 想象一下这样的场景&#xff1a;你在一家律师事务所工作&#xff0c;每天需要从成千上万份法律文书中快速找到与当前案件相关的资料。传统的全文搜索只能帮你找到包含关键词的文档&#xff0c;但无…...

Qwen2.5-Coder-1.5B应用案例:快速生成网页爬虫代码实战

Qwen2.5-Coder-1.5B应用案例&#xff1a;快速生成网页爬虫代码实战 1. 引言&#xff1a;为什么选择Qwen2.5-Coder生成爬虫代码 在日常开发工作中&#xff0c;网页爬虫是数据采集和分析的重要工具。传统编写爬虫代码需要开发者熟悉HTTP请求、HTML解析、反爬机制处理等多个技术…...

造相 Z-Image 电商提效:淘宝主图/拼多多详情页/小红书种草图量产

造相 Z-Image 电商提效&#xff1a;淘宝主图/拼多多详情页/小红书种草图量产 1. 电商视觉内容生产的痛点与机遇 电商卖家每天面临的最大挑战之一就是视觉内容的生产。无论是淘宝主图、拼多多详情页还是小红书种草图文&#xff0c;都需要大量高质量的图片来吸引用户眼球。传统…...

3MF格式终极指南:如何在Blender中轻松导入导出3D打印文件

3MF格式终极指南&#xff1a;如何在Blender中轻松导入导出3D打印文件 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 想要在Blender中处理3D打印文件却苦于格式转换&…...

Eigen矩阵打印踩坑记:从乱码到优雅输出的3个关键技巧与一个隐藏Bug

Eigen矩阵打印踩坑记&#xff1a;从乱码到优雅输出的3个关键技巧与一个隐藏Bug 第一次在ROS项目里调试Eigen矩阵时&#xff0c;我盯着终端里歪歪扭扭的数字对齐和突然冒出的科学计数法&#xff0c;花了整整两小时才意识到这不是算法问题&#xff0c;而是输出格式在作祟。Eigen作…...

Windows/Linux双平台实战:用Docker快速部署MySQL 5.7.36并导入数据

跨平台Docker实战&#xff1a;MySQL 5.7.36高效部署与数据迁移指南 在混合开发环境中&#xff0c;数据库的快速部署与迁移往往是影响团队协作效率的关键因素。想象一下这样的场景&#xff1a;一位开发者刚在Windows笔记本上完成本地测试&#xff0c;需要将包含复杂表结构的MySQ…...

SpringBoot整合ANIMATEDIFF PRO:企业级API网关设计

SpringBoot整合ANIMATEDIFF PRO&#xff1a;企业级API网关设计 动画生成服务在企业级应用中面临高并发挑战&#xff0c;如何构建稳定可靠的API网关成为关键问题 1. 企业级动画生成服务的挑战与需求 在现代企业应用中&#xff0c;AI动画生成服务已经成为内容创作、营销推广、教…...

如何通过Mem Reduct实现系统内存智能优化?专业用户的实战指南

如何通过Mem Reduct实现系统内存智能优化&#xff1f;专业用户的实战指南 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct …...

汽车UDS刷写避坑指南:从S32K144 Bootloader的链接文件到安全访问,这些细节你注意了吗?

汽车UDS刷写实战避坑手册&#xff1a;S32K144 Bootloader开发中的七个致命细节 当你在凌晨三点的实验室里盯着CANoe窗口不断跳出的NRC 31&#xff08;requestOutOfRange&#xff09;错误码时&#xff0c;会不会突然怀念用J-Link直接烧录的简单日子&#xff1f;UDS刷写就像汽车电…...