Qt5 cmake引用private头文件

Qt5 cmake引用private头文件

如何引用Qt的qzipreader_p.h头文件 、xlsxzipreader_p.h头文件

使用 target_include_directories

target_include_directories(TestQtXlsx PRIVATE${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS}${Qt${QT_VERSION_MAJOR}Xlsx_PRIVATE_INCLUDE_DIRS})

注:Qt Xlsx是第三方库,安装请参照Qt Xlsx安装教程

完整的例子

CMakeLists.txt

cmake_minimum_required(VERSION 3.14)project(TestQtXlsx LANGUAGES CXX)set(CMAKE_INCLUDE_CURRENT_DIR ON)set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui Xlsx REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Xlsx  REQUIRED)add_executable(TestQtXlsxmain.cpp
)target_include_directories(TestQtXlsx PRIVATE${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS}${Qt${QT_VERSION_MAJOR}Xlsx_PRIVATE_INCLUDE_DIRS})target_link_libraries(TestQtXlsx Qt${QT_VERSION_MAJOR}::Core)
target_link_libraries(TestQtXlsx Qt${QT_VERSION_MAJOR}::Xlsx)
target_link_libraries(TestQtXlsx Qt${QT_VERSION_MAJOR}::Gui)

C++源码

#include <QCoreApplication>
#include <QDate>
#include <QTime>
#include <QDebug>
#include "xlsxdocument.h"
#include <private/qzipreader_p.h>
#include <private/xlsxzipreader_p.h>static void test_xlsx_zip()
{//定义一个QXlsx文档对象try {QXlsx::ZipReader reader("test3_example.xlsx");bool ret = reader.exists();QStringList paths = reader.filePaths();qDebug()<<"ret="<<ret;qDebug()<<"paths="<<paths;QXlsx::Document xlsx("test3_example.xlsx");qDebug()<<"======";QZipReader qreader("test3_example.xlsx");bool ret2 = qreader.isReadable();qDebug()<<"ret2="<<ret2;int status = qreader.status();qDebug()<<"status="<<status;QVector<QZipReader::FileInfo> qvec = qreader.fileInfoList();qDebug()<<"qvec size="<<qvec.size();}catch (...) {qDebug()<<"Unknown error";}}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);test_xlsx_zip();return a.exec();
}

参考文献:

Qt5 cmake引用private头文件
qt modules public internal 私有头文件 private
Qt 自带的压缩QZipWriter和解压QZipReader详解~含Demo
QT QZipReader改进,以支持大于2G的zip文件
升级到qt6.6.2后,提示QZipReader和QZipWriter两个类不存在了的解决方法

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

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

相关文章

vulnhub matrix-breakout靶机

1.搭建靶机 这样就是装好了 获取靶机IP nmap -O 192.168.47.129/24 2.信息收集 dirb http://192.168.47.128 dirb 首页 81端口一个登录页面 gobuster dir -u http://192.168.152.154 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html gra…

前端文件导出到Excel文件实用案例:VUE3,ElementPlus,typescript。直接复制可用~~

typescript import * as XLSX from "xlsx"; //1、文件导出的主要方法 /*** 将数据表导出为Excel文件&#xff0c;并根据提供的映射替换表头和排序&#xff08;如果提供了映射&#xff09;* param dataTable 数据表&#xff0c;包含要导出的数据* param fileName 导出…

HNUST-数据分析技术课堂实验

1.要求 1&#xff0c;从下列第一、二、三组实验中各至少选取一个算法进行实验&#xff0c;选修组实验不作强制要求&#xff1b;2&#xff0c;实验过程不限&#xff0c;目标在于锻炼算法实现过程&#xff0c;即可采用C、C、Java、Python&#xff08;建议&#xff09;等任意语言编…

华为路由器AR101W-S

华为路由器AR101W-S的设定 华为路由器AR101W-S的设定 1、第一次进入登陆的界面 http://192.168.1.1/&#xff0c;默认的帐号&#xff1a;admin&#xff0c;默认的密码&#xff1a;Adminhuawei&#xff0c;登入后会要求修改密码 如果无法进入网址&#xff0c;请操作下面的内…

微信小程序 不同角色进入不同页面、呈现不同底部导航栏

遇到这个需求之前一直使用的小程序默认底部导航栏&#xff0c;且小程序默认入口页面为pages/index/index&#xff0c;要使不同角色呈现不同底部导航栏&#xff0c;必须要在不同页面引用不同的自定义导航栏。本篇将结合分包&#xff08;subPackages&#xff09;展开以下三步叙述…

【西安电子科技大学考研】25官方复试专业课参考书目汇总

初试已经顺利考完啦、成绩已经公布&#xff0c;现在已经有很多同学来问学长学姐&#xff0c;复试参考书有哪些&#xff0c;复试应该做好哪些准备。故此学长学姐给大家整理好了西安电子科技大学各个学院的复试参考书目录&#xff0c;有需要的同学可以参考一下哈。大家可以结合本…

如何通过 Kafka 将数据导入 Elasticsearch

作者&#xff1a;来自 Elastic Andre Luiz 将 Apache Kafka 与 Elasticsearch 集成的分步指南&#xff0c;以便使用 Python、Docker Compose 和 Kafka Connect 实现高效的数据提取、索引和可视化。 在本文中&#xff0c;我们将展示如何将 Apache Kafka 与 Elasticsearch 集成以…

LLaMA-Factory GLM4-9B-CHAT LoRA 微调实战

&#x1f929;LLaMA-Factory GLM LoRA 微调 安装llama-factory包 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git进入下载好的llama-factory&#xff0c;安装依赖包 cd LLaMA-Factory pip install -e ".[torch,metrics]" #上面这步操作会完成…

view draw aosp15

基础/背景知识 如何理解Drawable&#xff1f; 在 Android 中&#xff0c;Drawable 是一个抽象的概念&#xff0c;表示可以绘制到屏幕上的内容。 它可以是位图图像、矢量图形、形状、颜色等。 Drawable 本身并不是一个 View&#xff0c;它不能直接添加到布局中&#xff0c;而是…

gridcontrol表格某一列设置成复选框,选择多行(repositoryItemCheckEdit1)

1. 往表格中添加repositoryItemCheckEdit1 2. 事件&#xff1a; repositoryItemCheckEdit1.QueryCheckStateByValue repositoryItemCheckEdit1_QueryCheckStateByValue; private void repositoryItemCheckEdit1_QueryCheckStateByValue(object sender, DevExpress.XtraEditor…

重温设计模式--适配器模式

文章目录 适配器模式&#xff08;Adapter Pattern&#xff09;概述适配器模式UML图适配器模式的结构目标接口&#xff08;Target&#xff09;&#xff1a;适配器&#xff08;Adapter&#xff09;&#xff1a;被适配者&#xff08;Adaptee&#xff09;&#xff1a; 作用&#xf…

C语言项目 天天酷跑(上篇)

前言 这里讲述这个天天酷跑是怎么实现的&#xff0c;我会在天天酷跑的下篇添加源代码&#xff0c;这里会讲述天天酷跑这个项目是如何实现的每一个思路&#xff0c;都是作者自己学习于别人的代码而创作的项目和思路&#xff0c;这个代码和网上有些许不一样&#xff0c;因为掺杂了…

公交车信息管理系统:构建智能城市交通的基石

程序设计 本系统主要使用Java语言编码设计功能&#xff0c;MySQL数据库管控数据信息&#xff0c;SSM框架创建系统架构&#xff0c;通过这些关键技术对系统进行详细设计&#xff0c;设计和实现系统相关的功能模块。最后对系统进行测试&#xff0c;这一环节的结果&#xff0c;基本…

MDS-NPV/NPIV

在存储区域网络&#xff08;SAN&#xff09;中&#xff0c;域ID&#xff08;Domain ID&#xff09;是一个用于区分不同存储区域的关键参数。域ID允许SAN环境中的不同部分独立操作&#xff0c;从而提高效率和安全性。以下是关于域ID的一些关键信息&#xff1a; 域ID的作用&…

【网络安全产品大调研系列】1. 漏洞扫描

1. 为什么会出现漏扫技术&#xff1f; 每次黑客攻击事件进行追溯的时候&#xff0c;根据日志分析后&#xff0c;我们往往发现基本都是系统、Web、 弱口令、配置这四个方面中的其中一个出现的安全问题导致黑客可以轻松入侵的。 操作系统的版本滞后&#xff0c;没有更新补丁&am…

验证 Dijkstra 算法程序输出的奥秘

一、引言 Dijkstra 算法作为解决图中单源最短路径问题的经典算法,在网络路由、交通规划、资源分配等众多领域有着广泛应用。其通过不断选择距离源节点最近的未访问节点,逐步更新邻居节点的最短路径信息,以求得从源节点到其他所有节点的最短路径。在实际应用中,确保 Dijkst…

C++学习路程-8-C++错误处理

C中的错误处理是一个重要的主题&#xff0c;它涉及如何检测和处理程序中的异常情况&#xff0c;以确保程序的健壮性和稳定性。C提供了多种错误处理机制&#xff0c;其中最主要的是异常处理机制。下面将详细介绍C中的错误处理相关知识&#xff0c;包括异常的概念、使用方法、标准…

【论文阅读笔记】Learning to sample

Learning to sample 前沿引言方法问题声明S-NET匹配ProgressiveNet: sampling as ordering 实验分类检索重建 结论附录 前沿 这是一篇比较经典的基于深度学习的点云下采样方法 核心创新点&#xff1a; 首次提出了一种学习驱动的、任务特定的点云采样方法引入了两种采样网络&…

Mysql大数据量表分页查询性能优化

一、模拟场景 1、产品表t_product,数据量500万+ 2、未做任何优化前,cout查询时间大约4秒;LIMIT offset, count 时,offset 值较大时查询时间越久。 count查询 SELECT COUNT(*) AS total FROM t_product WHERE deleted = 0 AND tenant_id = 1 分页查询 SELECT * FROM t_…

pythonWeb~伍~初识Django

初识Django 1.技术栈 Python知识点&#xff1a;函数、面向对象。前端知识点&#xff1a;HTML、CSS、JavaScript、jQuery、BootStrap。MySQL数据库。Python的Web框架&#xff1a; Flask&#xff0c;自身短小精悍 第三方组件。Django&#xff0c;内部已集成了很多组件 第三方…