花了两天时间终于把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
我根据自己的系统选了安装版。
安装时基本都默认设置。可以把桌面图标勾上。
三、编译
我们先创建两个文件夹,用来放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();
}
运行。
本文档详细记录了在win11环境下,使用Qt5.15和mingw 64位编译KDChart3.0的过程,包括下载源文件、安装CMake、配置编译选项、解决编译错误以及最终的使用步骤。通过编译生成的库文件对于Qt项目的图表展示非常有用。
1130





