记录我的KDChart3.0编译过程

本文档详细记录了在win11环境下,使用Qt5.15和mingw 64位编译KDChart3.0的过程,包括下载源文件、安装CMake、配置编译选项、解决编译错误以及最终的使用步骤。通过编译生成的库文件对于Qt项目的图表展示非常有用。

花了两天时间终于把KDChart编译出来,并且可以在Qt上使用了。记录分享一下我编译的过程。

系统:win11,Qt5.15 ,编译器mingw 64位

注意,KDChart3.0要求QT5.15及以上版本

一、下载KDChart源文件

打开官网https://www.kdab.com/development-resources/qt-tools/kd-chart/

拉倒最下面,

下载源文件,然后解压。

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

二、下载安装CMake

https://cmake.org/download/

我根据自己的系统选了安装版。

安装时基本都默认设置。可以把桌面图标勾上。

三、编译

我们先创建两个文件夹,用来放cmake编译文件。

我把文件夹放在kdchart源文件下面了。

接着打开刚安装的cmake。

填写源文件目录和build文件夹目录。

点击Configure。

选择编译器,并指定本地目录。

要选择Qt安装目录下的编译器地址。

点击Finish,提示找不到文件。

消息框提示,这两个文件找不到。这个文件是在安装目录下的这个位置。注意地址里的编译器版本。

把地址填到CMake软件中的Qt5_DIR这项,然后再点Configure。依然报错,这次少了Qt5sql。

填入地址,

再点Configure。这次窗口不红了,不报错了。

选择需要的build版本(debug或release)。我这次选择release的(debug版本已经编译过了)。

往下翻,这是install文件夹,可以更改为喜欢的位置,但请记住它。

改好后,点击Generate。

成功了。

以管理员身份打开CMD窗口,cd到刚才的build文件夹。

输入命令 mingw32-make.exe

这里一定是mingw32,不要因为是64位编译器就填64了。

按回车。编译蛮久的,等一会儿。

完成以后,再输入mingw32-make.exe install

完成后,来到install文件夹。

这样就编译好了。

主要是要用到这些文件。

"C:\Program Files (x86)\KDChart\bin\libkdchart3.dll"

"C:\Program Files (x86)\KDChart\lib\libkdchart3.dll.a"

"C:\Program Files (x86)\KDChart\include\KDChart"

四、使用

把编译好的头文件,库文件保存到工程目录下。

debug的库文件是libkdchart3d.dll、libkdchart3d.dll.a

release的库文件是libkdchart3.dll、libkdchart3.dll.a

我们新建一个Qt项目,运行一下。

把对应版本的文件放到工程目录下。

然后再.pro文件中添加这些头文件和库。

抄一段官方文档给的例子。https://docs.kdab.com/kdchart/latest/

#include "mainwindow.h"

#include <QApplication>

#include<KDChartWidget>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    KDChart::Widget widget;
    widget.resize( 600, 600 );
    QVector< qreal > vec0, vec1, vec2;
    vec0 << -5 << -4 << -3 << -2 << -1 << 0
    << 1 << 2 << 3 << 4 << 5;
    vec1 << 25 << 16 << 9 << 4 << 1 << 0
    << 1 << 4 << 9 << 16 << 25;
    vec2 << -125 << -64 << -27 << -8 << -1 << 0
    << 1 << 8 << 27 << 64 << 125;
    widget.setDataset( 0, vec0, "Linear" );
    widget.setDataset( 1, vec1, "Quadratic" );
    widget.setDataset( 2, vec2, "Cubic" );
    widget.show();

    return a.exec();
}

运行。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值