MSVC编译KDChart过程

一、下载KDChart源文件

GitHub源文件

查看文件夹里的INSTALL.txt,可以看到需要CMake编译。

中文版

以下是使用 CMake 构建系统安装 KD Chart 的说明。
需要 CMake 3.3 或更高版本。Qt 版本支持:* KD Chart 2.5.0 及以下版本需要 Qt4* KD Chart 2.5.1 至 2.7.2 版本需要 Qt4 到 Qt5.15* KD Chart 2.8.x 移除了 Qt4 支持(即仅支持 Qt5)* KD Chart 3.0 及以上版本需要 Qt5.15.0 到 Qt6.x(如果需要旧版 Qt5 支持,请联系 info@kdab.com)另请注意,使用 Qt6 构建需要支持 C++17 的编译器,
而使用 Qt5 构建支持 C++11 即可。请查看 CMakeLists.txt 文件顶部的注释,
了解可传递给 cmake 的可用配置选项。安装目录在 Windows 上默认为 c:\KDAB\KDChart-<version>,
在非 Windows 系统上默认为 /usr/local/KDAB/KDChart-<version>。 你可以通过向 cmake 传递选项 -DCMAKE_INSTALL_PREFIX=/install/path 来更改此位置。1) 从 KD Chart 安装的顶级目录创建一个构建目录:mkdir build然后进入该构建目录:cd build2) 现在根据构建类型运行以下 'cmake' 命令之一:cmake -DCMAKE_BUILD_TYPE=Debug ..cmake -DCMAKE_BUILD_TYPE=Release ..cmake -DKDChart_STATIC=True -DCMAKE_BUILD_TYPE=Debug ..cmake -DKDChart_STATIC=True -DCMAKE_BUILD_TYPE=Release ..若要指定安装位置,可参考以下示例:cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=C:/kdchart ..cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/kdchart ..3) Unix设置 LD_LIBRARY_PATH 指向 KD Chart 安装的 lib 目录。如果你还没有设置 LD_LIBRARY_PATH,可在终端中运行:% LD_LIBRARY_PATH=/path/to/kdchart/lib:$LD_LIBRARY_PATH% export LD_LIBRARY_PATH必须将上述命令添加到你的 .bashrc 或类似文件中才能永久生效。当然,你也可以在使用 KD Reports 构建软件之前在 shell 中运行这些命令,但这种情况下设置仅在当前 shell 中有效。4) MacOS操作步骤同上,但使用 DYLD_LIBRARY_PATH 代替 LD_LIBRARY_PATH5) Windows若要运行可执行文件,将 KD Chart dll 文件所在路径(kdchart\bin)添加到 PATH 环境变量中。例如:set PATH=\path\to\kdchart\bin;%PATH%若要进行开发,将 KD Chart lib 文件所在路径(kdchart\lib)添加到 LIB 环境变量中。例如:set LIB=\path\to\kdchart\lib;%LIB%6) 输入以下命令构建所有内容:从 KD Chart 顶级目录运行:% make    # Unix, Mac% nmake   # Windows7) (可选)安装 KD Chart:从 KD Reports 顶级目录运行:% make install   # Unix, Mac% nmake install  # Windows这会将必要的文件复制到安装路径的子目录中:对于 Unix/Linux、Mac:/usr/local/KDAB/KDChart-VERSION/对于 Windows:C:\KDAB\KDChart-VERSION\8) 查看示例应用程序。它们将帮助你开始使用 KD Chart。== 测试 ==
若要构建测试工具,请向 CMake 传递 -DKDChart_TESTS=true 参数,如下所示:% cmake -DKDChart_TESTS=true然后运行 'make test' 来执行单元测试。== 使用 ==
在你的 CMake 项目中添加以下内容find_package(KDChart CONFIG REQUIRED)如果使用 Qt6,则添加find_package(KDChart-qt6 CONFIG REQUIRED)并链接到导入目标 KDChart::kdchart。
这就是你需要做的全部操作(导入目标还会包含头文件目录)你可能还需要根据 KDChart 的安装位置设置 CMAKE_PREFIX_PATH 环境变量。

二、下载安装CMake

注意:

如果使用Qt6.x 编译,可以不用安装,Qt6自带CMake,还不用配置!(直接看 Qt6.x 编译KDChart `)

https://cmake.org/download/

三、编译

1.填写源文件目录和build文件夹目录

在这里插入图片描述

2.Configure配置项目工程

在这里插入图片描述

3.等待报错

1.Could not find a package configuration file provided by “Qt6”
移除KDChart_QT6选择

在这里插入图片描述

自定义输出目录(注意C盘有权限问题)

在这里插入图片描述

根据需求可以构建例子

在这里插入图片描述

记得此次点击Configure

2. string no output variable specified 未指定输出变量

在这里插入图片描述

src/CMakeList.txt 491行

在这里插入图片描述

情况一:CMAKE 里面找 CMAKE_BUILD_TYPE

情况二:如果没有找到 Add Entry
在这里插入图片描述

没有找到则添加

在这里插入图片描述

输入需要构建模式

在这里插入图片描述

记得此次点击Configure

还有错看:

1.KDChart3.0编译过程-使用QT5.15及QT6.x编译

2.KDChart2.8编译过程-使用VS+CMake-MSVC2017

4.生成

1. 配置Generate

在这里插入图片描述

2. 打开.sln

或者 使用Open Project

在这里插入图片描述

在这里插入图片描述

右键ALL_BUILD->生成

堆空间不足错误:多生成几次,或者查

“EntryDialog::~EntryDialog”: 不能定义编译器生成的特殊成员函数(必须首先在类中声明)

在这里插入图片描述

添加声明

常量中有换行符

在这里插入图片描述

使用SmartCharsetConverter批量转换

一般不会出现这种情况,我的是因为使用AI添加的中文注释

在这里插入图片描述
在这里插入图片描述

3.ALL_BUILD生成没问题,右键INSTALL->生成
NSTALL失败

CMake Error at src/cmake_install.cmake:36 (file):
file INSTALL cannot find
/build/src/KDChart/kdgantt.h": No error.

在这里插入图片描述

在这里插入图片描述

error MSB3073: 命令“setlocal
error MSB3073: E:\WorkTool\CMake-4.0.0\bin\cmake.exe -DBUILD_TYPE=Debug -P cmake_install.cmake
error MSB3073: if %errorlevel% neq 0 goto :cmEnd
error MSB3073: :cmEnd
error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
error MSB3073: :cmErrorLevel
error MSB3073: exit /b %1
error MSB3073: :cmDone
error MSB3073: if %errorlevel% neq 0 goto :VCEnd
error MSB3073: :VCEnd”已退出,代码为 1。

在这里插入图片描述

解决方案在src/CMakeLists.txt 的 196 行 添加
# Adding the following line of code will solve the “file INSTALL cannot find build/src/KDChart/kdgantt.h” problem.
configure_file("${CMAKE_CURRENT_BINARY_DIR}/KDChart/KDGantt" "${CMAKE_CURRENT_BINARY_DIR}/KDChart/kdgantt.h" COPYONLY)

在这里插入图片描述

保存后,直接右键INSTALL->生成


写文章截止时间是2025-07-30 22:00:00

最新解决方案请查看


5.测试

这最后有测试例子教程

在build/bin/Debug挑一个

使用 windeployqt.exe xxxx.exe 打包一下库

最新解决方案请查看


5.测试

这最后有测试例子教程

在build/bin/Debug挑一个

使用 windeployqt.exe xxxx.exe 打包一下库

在这里插入图片描述

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

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

相关文章

AI Agent管理后台原型设计全拆解(附3套可复用素材)

最近在做AI方向的产品&#xff0c;越来越能感受到“智能体”这个概念正在从技术圈走向应用层。无论是内部探索项目&#xff0c;还是外部合作需求&#xff0c;很多场景都会提到Agent、助手、知识库这些关键词。我们经常讨论如何打造一个有用的AI Agent&#xff0c;但实际上&…

ABP VNext + Elastic APM:微服务性能监控

ABP VNext Elastic APM&#xff1a;微服务性能监控 &#x1f680; &#x1f4da;目录ABP VNext Elastic APM&#xff1a;微服务性能监控 &#x1f680;一、引言 ✨架构全景图 &#x1f3d7;️二、环境与依赖 &#x1f4e6;三、APM 服务器与 Kibana 快速部署 &#x1f433;Doc…

单片机学习笔记.AD/DA(略含有SPI,用的是普中开发板上的XPT2046芯片)

AD/DA基础知识 硬件电路&#xff1a; 模电运放知识回顾&#xff1a; 虚短&#xff08;Virtual Short&#xff09;定义&#xff1a;运放同相输入端&#xff08;&#xff09;和反相输入端&#xff08;-&#xff09;的电位近似相等&#xff0c;即V V-&#xff0c;仿佛两个输入端短…

避坑指南:VMware安装CentOS常见错误及完美解决方案

1. 引言 虚拟机允许在同一台机子上有不同的操作系统&#xff0c;还可以用于搭建实验环境、软件测试和兼容性测试等。我是主攻大数据方向的会用到Linux操作系统&#xff0c;所以虚拟机对我来说是很有必要的。我把之前的笔记和安装包整理了一下&#xff0c;就有了现在这个教程。…

Python爬虫04_Requests豆瓣电影爬取

一、 爬取豆瓣电影排行榜数据 import requests import json url ‘https://movie.douban.com/j/chart/top_list’ param { ‘type’:‘24’, ‘interval_id’:‘100:90’, ‘action’:‘’, ‘start’:‘0’, #从库中的第几部电影去取 ‘limit’:‘20’, } headers { ‘Use…

工业物联网模块运营指南​

一、运营目标 工业物联网模块运营的核心目标在于通过高效运作,实现提高工业设备运行效率、降低生产成本、推动生产过程智能化管理,进而提升企业的整体竞争力。这一目标是后续所有运营工作的出发点和落脚点,为各项运营环节提供方向指引。 二、关键运营环节及做法 (一)设…

9.项目起步(3)

1项目起步-静态资源初始化 和 Error Lens 安装图片资源和样式资源error lens 安装2项目起步-scss文件自动导入为什么要自动导入自动导入配置scss变量自动导入$xtxColor: #27ba9b; $helpColor: #e26237; $sucColor: #1dc779; $warnColor: #ffb302; $priceColor: #cf4444;css: {p…

MCP提示词工程:上下文注入的艺术与科学

MCP提示词工程&#xff1a;上下文注入的艺术与科学 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般绚烂的技术栈中&#xff0c;我是那个永不停歇的色彩收集者。 &#x1f98b; 每一个优化都是我培育的花朵&#xff0c;每一个特性都是我放飞的蝴蝶…

字节跳动GR-3:可泛化、支持长序列复杂操作任务的机器人操作大模型(技术报告解读)

1.总结 GR-3 是一个大规模的视觉 - 语言 - 动作&#xff08;VLA&#xff09;模型。它对新物体、新环境以及含抽象概念的新指令展现出较好的泛化能力。此外&#xff0c;GR-3 支持少量人类轨迹数据的高效微调&#xff0c;可快速且经济地适应新任务。GR-3 在处理长周期和灵巧性任…

713. 乘积小于 K 的子数组

中等 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。 示例 1&#xff1a; 输入&#xff1a;nums [10,5,2,6], k 100 输出&#xff1a;8 解释&#xff1a;8 个乘积小于 100 的子数组分别为&#xff1a;[10…

【算法】 SM2、FSRS、SuperMemo算法实现艾宾浩斯记忆曲线,通过以上算法你也可以开发出单词记忆软件

有那些算法可以实现艾宾浩斯单词记忆 用户: 有那些算法可以实现艾宾浩斯单词记忆 元宝: 以下是基于 艾宾浩斯遗忘曲线 的智能记忆算法实现方案&#xff0c;结合 间隔重复算法 与 现代机器学习技术&#xff0c;提供从理论到实践的完整解决方案&#xff1a; 一、核心算法原理 1. …

SQL167 连续签到领金币

SQL167 连续签到领金币 题目描述 用户行为日志表 tb_user_log iduidartical_idin_timeout_timesign_in110102021-07-07 10:00:002021-07-07 10:00:091210102021-07-08 10:00:002021-07-08 10:00:091310102021-07-09 10:00:002021-07-09 10:00:42141010 2021-07-10 10:00:00 …

PHP性能优化与高并发处理:从基础到高级实践

引言 在当今高流量的互联网环境中,PHP应用的性能优化变得至关重要。本文将全面探讨PHP性能优化的各个层面,从基础优化技巧到高级并发处理方案,帮助开发者构建高性能的PHP应用。 基础性能优化 OPcache配置优化 ; php.ini 推荐OPcache配置 [opcache] opcache.enable=1 opc…

C++ std::map erase() 和迭代器详解:常见面试陷阱与深入理解

在使用 C 的 std::map 时&#xff0c;配合 erase() 和迭代器的使用是一个经典面试点&#xff0c;也是实际开发中经常出错的地方。本文将深入讲解 erase() 的行为、end() 的本质以及迭代器失效规则&#xff0c;帮助你写出更健壮的代码。1. erase(it) 的行为当你使用 erase(it) 删…

求职招聘小程序源码搭建招聘小程序开发定制人力资源系统

身份&#xff1a;求职者、企业求职者&#xff1a;完善简历&#xff0c;简历投递企业&#xff1a;企业入驻&#xff0c;查看简历企业会员&#xff1a;半年 、年度 权益&#xff1a;每日发布条数、刷新条数&#xff0c;简历下载数量聊天&#xff1a;求职者可以和企业聊天招聘会…

【31】C# WinForm入门到精通 ——保存文件SaveFileDialog 【属性、方法、事件、实例、源码】

WinForm 是 Windows Form 的简称&#xff0c;是基于 .NET Framework 平台的客户端&#xff08;PC软件&#xff09;开发技术&#xff0c;是 C# 语言中的一个重要应用。 .NET 提供了大量 Windows 风格的控件和事件&#xff0c;可以直接拿来使用。 本专栏内容是按照标题序号逐渐…

socket网络编程(1)

socket网络编程&#xff08;1&#xff09; 设计echo server进行接口使用 生成的Makefile文件如下 .PHONY:all all:udpclient udpserverudpclient:UdpClient.ccg -o $ $^ -stdc17 -static udpserver:UdpServer.ccg -o $ $^ -stdc17.PHONY:clean clean:rm -f udpclient udpserver…

数据集:机器学习的基石

三、数据集&#xff1a;机器学习的基石1. sklearn 玩具数据集&#xff1a;快速入门的理想选择1.1 玩具数据集的特点与价值sklearn 内置的玩具数据集&#xff08;Toy Datasets&#xff09;是机器学习入门的绝佳资源。这类数据集通常具有以下特点&#xff1a;数据量小&#xff1a…

SQL排查、分析海量数据以及锁机制

1. SQL排查 1.1 慢查询日志: mysql提供的一种日志记录, 用户记录MySQL中响应时间超过阈值的SQL语句(long_query_time, 默认10秒), 慢查询日志默认是关闭的, 建议开发调优时打开, 最终部署的时候关闭 1.1.1 检查是否开启了慢查询日志 show variables like %slow_query_log%;临…

conda 安装prokka教程

本章教程,记录如何在wsl2+ubuntu下载通过conda安装prokka软件包。 Prokka 是一个快速的、功能强大的基因组注释工具,特别适用于细菌基因组的注释。它能够自动化完成从基因组序列到功能注释的整个流程,包括基因的识别、功能预测和注释,并且支持多种文件格式输出,广泛应用于…