packageKit学习(一)

        最近在学习packagekit,本系列主要讲述,如何使用packageKit接口。

        1. 导入依赖

                在使用packageKit 之前需要导入一些依赖和安装一些包,不然会报错,以下以报错信息讲解:

cmakelist demo/updatesystemdemo/mainwindow.cpp:9: error: PackageKit/Daemon: No such file or directory
demo/updatesystemdemo/mainwindow.cpp:9:10: fatal error: PackageKit/Daemon: No such file or directory9 | #include <PackageKit/Daemon>|          ^~~~~~~~~~~~~~~~~~~

        上面的问题 即是直接在代码中引入头文件报错的信息,下面是解决方案:

        这个错误表明编译器在尝试编译程序时找不到 `PackageKit/Daemon` 头文件。这通常是因为以下几个原因:

1. PackageKit未安装:在系统上可能没有安装PackageKit的开发包,执行以下命令安装:

sudo apt-get update
sudo apt-get install libpackagekit-glib2-dev 
sudo apt-get install packagekit-glib2-dev

2. 安装完成后,还需要在cmakelist中添加相应语句:

cmake_minimum_required(VERSION 3.0)
project(UpdateSystemDemo)# 找到PackageKit
find_package(PackageKit REQUIRED)# 包含PackageKit头文件
include_directories(${PACKAGEKIT_INCLUDE_DIRS})add_executable(UpdateSystemDemo mainwindow.cpp)
# 链接PackageKit库
target_link_libraries(UpdateSystemDemo ${PACKAGEKIT_LIBRARIES})

3. 以上步骤执行完后,会报错信息如下:

/demo/updatesystemdemo/CMakeLists.txt:17:error: By not providing "FindPackageKit.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "PackageKit", but CMake did not find one. Could not find a package configuration file provided by "PackageKit" with any of the following names: PackageKitConfig.cmake packagekit-config.cmake Add the installation prefix of "PackageKit" to CMAKE_PREFIX_PATH or set "PackageKit_DIR" to a directory containing one of the above files.  If "PackageKit" provides a separate development package or SDK, be sure it has been installed.

        这个错误信息表明 CMake 在尝试定位 PackageKit 库时失败了。CMake 可以通过两种方式来寻找依赖项:使用 `Find<PackageName>.cmake` 模块或者使用 `<PackageName>Config.cmake` 配置文件。在此情况下,它正在寻找 `PackageKitConfig.cmake` 或 `packagekit-config.cmake` 文件,但是没有找到。

        可以指定文件目录:

include_directories(/usr/include/packagekitqt5)

4. 接下来又有新的报错:

/demo/updatesystemdemo/CMakeLists.txt:22: error: Found package configuration file: /usr/lib/x86_64-linux-gnu/cmake/packagekitqt5/packagekitqt5-config.cmake but it set PackageKitQt5_FOUND to FALSE so package "PackageKitQt5" is considered to be NOT FOUND.

        这个错误,就可以看对应文件的.cmake文件,看具体是哪里设置为了false,基本都是缺少依赖的包,我这里缺少的是qt5dbus,直接安装就可以了。

sudo apt-get install libqt5dbus5 qttools5-dev qttools5-dev-tools

        讲一个小技巧,对于这种cmake文件,具体想看他执行到哪一步,可以使用下面的命令:

cmake --trace-source="packagekitqt5-config.cmake" ..
这将打印出 packagekitqt5-config.cmake 文件的每一步执行情况

此篇讲解完了,如何安装依赖文件,引入库,下一篇讲述,使用接口。

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

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

相关文章

element-ui 图片(图片压缩)与文件上传设置【添加请求头信息】

1.图片上传 <template><div><el-upload class"avatar-uploader" :action"upload /Api/upload" :show-file-list"false" :on-success"upSuccess":before-upload"beforeAvatarUpload" :on-exceed"handl…

2024年想要开一家抖音小店,需要多少钱?一篇详解!

大家好&#xff0c;我是电商糖果 随着抖音卖货的持续火爆&#xff0c;抖音小店也成了电商行业讨论度最大的项目之一。 不少朋友都想知道&#xff0c;如果今年开抖音小店大概需要多少钱。 糖果做小店的时间也比较长&#xff0c;也经营了多家小店。 对于开一家抖音小店需要多…

MADbench2

MADbench2 MADbench2是一款用于测试大规模并行架构的I/O、通信和计算子系统在真实科学应用压力下的综合性能的工具。 MADbench2 基于 MADspec 代码&#xff0c;该代码根据天空的噪声像素化图及其像素-像素噪声相关矩阵计算宇宙微波背景辐射的最大似然角功率谱。MADbench2 保留…

多规格产品应该如何设置呢?

今天一用户从供应商手中拿到产品价目表&#xff0c;但是设置起来蒙圈了&#xff0c;接下来我们就一起设置一下吧&#xff5e; 一、产品价格表 我们通过供应商手中拿到产品价目表是这个样子的&#xff1a; 我们可以看到此产品的销售客价根据不同地区导致的价格不同&#xff0…

ABAP小技巧汇总(自用)

1.TIMESTAMP搜索帮助 PARAMETERS:p_begin TYPE ty_screen-date_begiu MATCHCODE OBJECT cpe_timestamp, "开始时间戳p_end TYPE ty_screen-date_end MATCHCODE OBJECT cpe_timestamp. "结束时间戳 效果&#xff1a;

Git笔记-常用指令

Git笔记-常用指令 一、概述二、仓库管理二、缓存区操作1. 添加文件到缓存区2. 取消缓存文件3. 忽略列表 三、日志状态信息四、分支操作五、六、 一、概述 这里记录一些git常用的指令。 二、仓库管理 # 本地仓库初始化 git init# 克隆仓库 git clone git_url # git clone ht…

深入剖析Java的“幽灵之手“:NullPointerException的原因、解决与创意思考

1. 原因分析 java.lang.NullPointerException&#xff08;简称NPE&#xff09;是Java程序员在编程过程中经常会遇到的“幽灵之手”&#xff0c;它在毫无预警的情况下出现&#xff0c;让程序崩溃。NPE的根源在于尝试访问或修改一个null对象的成员或方法。以下是NPE出现的几个常…

怎么选择适合Selenium使用的网络代理

Selenium可以让你使用所有主流浏览器&#xff0c;访问你想测试的任何网站或服务。这种多功能性使 Selenium 不仅在测试方面不可或缺。例如&#xff0c;你可以将 Selenium 与 Python 结合使用&#xff0c;对网站进行搜刮。当然&#xff0c;为了不被拦截&#xff0c;你需要一个代…

2024数维杯数学建模竞赛B题完整思路代码和论文分析

2024数维杯数学建模B题完整代码和成品论文已更新&#xff0c;获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/bgic2nbxs2h41pvt?singleDoc# 2024数维杯数学建模竞赛B题完整思路代码论文分析如下&#xff1a; 问题分析 问题(1):分析正己烷不溶物(INS)对热解产率的…

win11个性化锁屏界面怎么关闭?

win11个性化锁屏界面关闭方法对于win11用户来说&#xff0c;关闭个性化锁屏界面是一个常见问题。本文将由php小编苹果详细介绍如何执行此操作&#xff0c;分步指导并提供操作截图。继续阅读以了解具体步骤。 win11个性化锁屏界面关闭方法 第一步&#xff0c;点击底部Windows图…

2024数维杯数学建模竞赛A题完整思路代码论文分析

2024数维杯数学建模A题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/bgic2nbxs2h41pvt?singleDoc# 2024数维杯数学建模竞赛A题完整思路代码论文分析如下&#xff1a; 问题分析 对A题4个小问题的分析如下: 第一个小问题的分析: 这一问题要求…

知识付费 管理系统,专业技术课程讲解视频怎么制作?制作事项有几条?

现在的网络课程&#xff0c;分为专业和非专业的两种&#xff0c;专业的就是要提供硬性技术的&#xff0c;如果是值了的老师&#xff0c;要制作专业技术课程讲解视频&#xff0c;那需要怎么制作?因为&#xff0c;专业课程的要求更为的严苛&#xff0c;所以&#xff0c;老师们也…

python数据分析常用基础语法

Python语言基础——语法基础 前言一、变量的介绍与使用变量的介绍变量命名规则变量的使用拓展 二、标识符标识符命名命名规则注意事项 三、数据类型数据类型的介绍数据类型的查看示例 四、输入与输出输入和输出的介绍format格式化输出占位符 五、代码缩进与注释代码缩进 前言 …

vue3 JSX的使用与警告【JSX 元素隐式具有类型 “any“,因为不存在接口 “JSX.IntrinsicElements“】解决办法

一、安装 pnpm i vitejs/plugin-vue-jsx -D 二、配置 1、tsconfig.json "compilerOptions":{"jsx":"preserve" } 2、vite.config.ts import VueJsx from "vitejs/plugin-vue-jsx"...plugin:[vue(),VueJsx() ] 三、简单使用案例…

【TypeScript函数简介以及使用方法】

TypeScript 是一种 JavaScript 的超集&#xff0c;添加了静态类型系统和其他 ES6&#xff08;以及更多&#xff09;功能。在 TypeScript 中&#xff0c;函数是非常重要的构建块&#xff0c;它们允许你组织代码并执行特定的任务。 TypeScript 函数简介 在 TypeScript 中&#…

【论文速读】| LLM4FUZZ:利用大语言模型指导智能合约的模糊测试

本次分享论文&#xff1a;LLM4FUZZ: Guided Fuzzing of Smart Contracts with Large Language Models 基本信息 原文作者&#xff1a;Chaofan Shou, Jing Liu, Doudou Lu, Koushik Sen 作者单位&#xff1a;加州大学伯克利分校&#xff0c;加州大学欧文分校&#xff0c;Fuzz…

计算机网络-DHCPv6配置

DHCPv6实验配置 一、DHCPv6有状态配置 拓扑图&#xff1a; 请求报文 回复报文中的信息 配置&#xff1a; # 全局启用ipv6 ipv6 # 启用DHCP dhcp enable# 创建dhcpv6的地址池 dhcpv6 pool pool1address prefix 2001::/64excluded-address 2001::10dns-server 2001:4860:4860::8…

【新版系统架构】知识点背诵默写本

前言 系统架构考试在即&#xff0c;想要考试的人肯定感受到了沉甸甸的压力和紧迫感&#xff0c;脑海中不断闪过知识点的画面&#xff0c;却让人有些头昏脑胀&#xff0c;发现很难完全记住&#xff0c;这个考试很难&#xff0c;知识点很多。这次我在准备考试的同时&#xff0c;…

【全开源】Java同城预约月嫂服务上门服务本地服务源码APP+小程序+公众号+H 5

智能匹配与推荐&#xff1a;源码运用先进的算法和定位技术&#xff0c;根据用户的需求和地理位置&#xff0c;智能匹配并推荐附近的合适月嫂。这种匹配不仅基于地理位置&#xff0c;还考虑了月嫂的技能、经验、评价等因素&#xff0c;确保服务的质量和可靠性。 在线预约与支付…

基于Java+SpringBoot+Vue前后端分离教学资源共享平台系统

基于JavaSpringBootVue前后端分离教学资源共享平台系统 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统…