WIN10系统下MATLAB中@kde工具箱安装及编译报错的解决方案

环境

Windows 2010
MATLAB R2017b
MATLAB R2021b(切换默认的C\C++编译器需要额外下载补丁文件)
KDE Toolbox R13 (下载地址,已经不再更新版本了)(此外,后来又找到大神对该工具箱自行debug后发布的版本,github地址,本人暂未尝试,下述安装过程均按照第一个老版本进行)

安装过程

首先要确保你的win10系统里存在C++的编译器(系统没有自带)。KDE类是用于k维核密度估计的通用matlab类。 它是用matlab“.m”文件和MEX / C ++代码混合编写的。因此,要使用它,你需要能够为Matlab编译C ++代码。 请注意,Windows的默认编译器不支持C ++,因此您需要在Linux下使用GCC,或者在Windows下使用GCC或Visual C ++。
通过在系统命令窗口中输入指令gcc -v查看是否安装了gcc及其安装位置和版本(我这里是安装了MinGW 64 8.1, 由于之前安装过VS Studio, 所以我系统里也有MS VisualC++,详情看下面“编译问题”部分)
在这里插入图片描述

接下来下载KDE包,解压后将@kde文件夹放入到一个新的文件夹中,然后将这个文件夹放到...\MATLAB\toolbox文件夹中,如我新建了一个kde文件夹,这一步很重要!!! 因为@kde这个文件夹名称不能直接放到<设置路径>中,但又不能改名字
之后打开MATLAB,从MATLAB左侧“当前文件夹”栏一路双击进入...\MATLAB\toolbox\kde\@kde\mex文件夹中,将makemex.m文件拖入中间命令行窗口,回车运行,开始编译(关于此处使用的编译器问题后文会讲)。
开始安装
正常会报错,如图
在这里插入图片描述@kde\mex\cpp\BallTreeDensityClass.cc中的第470行, type = (BallTreeDensity::KernelType) mxGetScalar(mxGetField(structure,0,”type” ));
由于VS2013不支持枚举类型和double类型数的直接转化,因此在编译时会报错,可以先将double类型强制转化为int类型,然后再转化到枚举类型,即:type = (BallTreeDensity::KernelType) (int)mxGetScalar(mxGetField
(structure, 0,”type”));
解决方案来源:https://blog.csdn.net/lvfeiya/article/details/72860695

重新编译一次,耐心等候编译完成,最后将...\MATLAB\toolbox\kde放入到<设置路径>中,选择包括其子文件

测试一下
在这里插入图片描述

编译问题

很可能编译成功,但之后运行@kde工具箱时可能会报错
在这里插入图片描述
或其他错误,如错误使用 class CLASS 函数必须从类构造函数内调用。等,这是因为编译时使用的是==Microsoft Visual C++==进行编译,这个是有BUG的,工具箱作者有说,
在这里插入图片描述
所以要使用MinGW编译器,对C和C++进行编译。MinGW编译器具体的安装过程和配置环境变量过程网上很多,此处略过,接下来介绍如何在MATLAB中配置MinGW编译器来编译C和C++.

  1. Matlab 2017将MinGW编译器添加到MATLAB中,在命令行窗口输入setenv('MW_MINGW64_LOC','folder'),folder为MinGW的安装位置(跟环境变量路径一致即可)
    但在新本版的Matlab中,需要下载(下载地址)一个补丁文件configuremingw.p,放到matlab的安装根目录中(~\MATLAB\R2021b\),即和toolbox、bin等文件夹同目录。然后在matlab中找到该文件夹右击运行,在跳出的窗口中选择你安装MinGW的文件夹位置,选择mingw64文件夹即可,不需要深入选择bin等其他文件。
  2. 查看并选择MATLAB的C的编译器
    在这里插入图片描述
    3.按照指示更改编译器
    在这里插入图片描述
    4.同理,按照指示命令修改C++的编译器
    5 重新编译makemex.m文件文件

Done

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
1、该破解版版本是目前网上最全的版本(例如90%网上的2013B版本均没有Embedded Coder,或者工具箱就40个左右) 2、支持系统版本:Wind7 x64/x32。安装包大小:7G左右。 3、工具箱详情: MATLAB Version 8.2 (R2013b) Simulink Version 8.2 (R2013b) Aerospace Blockset Version 3.12 (R2013b) Aerospace Toolbox Version 2.12 (R2013b) Bioinformatics Toolbox Version 4.3.1 (R2013b) Communications System Toolbox Version 5.5 (R2013b) Computer Vision System Toolbox Version 5.3 (R2013b) Control System Toolbox Version 9.6 (R2013b) Curve Fitting Toolbox Version 3.4 (R2013b) DO Qualification Kit Version 2.2 (R2013b) DSP System Toolbox Version 8.5 (R2013b) Data Acquisition Toolbox Version 3.4 (R2013b) Database Toolbox Version 5.0 (R2013b) Datafeed Toolbox Version 4.6 (R2013b) Econometrics Toolbox Version 2.4 (R2013b) Embedded Coder Version 6.5 (R2013b) Filter Design HDL Coder Version 2.9.4 (R2013b) Financial Instruments Toolbox Version 1.2 (R2013b) Financial Toolbox Version 5.2 (R2013b) Fixed-Point Designer Version 4.1 (R2013b) Fuzzy Logic Toolbox Version 2.2.18 (R2013b) Global Optimization Toolbox Version 3.2.4 (R2013b) HDL Coder Version 3.3 (R2013b) HDL Verifier Version 4.3 (R2013b) IEC Certification Kit Version 3.2 (R2013b) Image Acquisition Toolbox Version 4.6 (R2013b) Image Processing Toolbox Version 8.3 (R2013b) Instrument Control Toolbox Version 3.4 (R2013b) MATLAB Builder EX Version 2.4 (R2013b) MATLAB Builder JA Version 2.3 (R2013b) MATLAB Builder NE Version 4.2 (R2013b) MATLAB Coder Version 2.5 (R2013b) MATLAB Compiler Version 5.0 (R2013b) MATLAB Report Generator Version 3.15 (R2013b) Mapping Toolbox Version 4.0 (R2013b) Model Predictive Control Toolbox Version 4.1.3 (R2013b) Model-Based Calibration Toolbox Version 4.6.1 (R2013b) Neural Network Toolbox Version 8.1 (R2013b) OPC Toolbox Version 3.3 (R2013b) Optimization Toolbox Version 6.4 (R2013b) Parallel Computing Toolbox Version 6.3 (R2013b) Partial Differential Equation Toolbox Version 1.3 (R2013b) Phased Array System Toolbox Version 2.1 (R2013b) Polyspace Bug Finder Version 1.0 (R2013b) Polyspace Code Prover Version 9.0 (R2013b) RF Toolbox Version 2.13 (R2013b) Real-Time Windows Target Version 4.3 (R2013b) Robust Control Toolbox Version 5.0 (R2013b) Signal Processing Toolbox Version 6.20 (R2013b) SimBiology Version 4.3.1 (R2013b) SimDriveline Version 2.5 (R2013b) SimElectronics Version 2.4 (R2013b) SimEvents Version 4.3.1 (R2013b) SimHydraulics Version 1.13 (R2013b) SimMechanics Version 4.3 (R2013b) SimPowerSystems Version 6.0 (R2013b) SimRF Version 4.1 (R2013b) Simscape Version 3.10 (R2013b) Simulink 3D Animation Version 7.0 (R2013b) Simulink Code Inspector Version 2.0 (R2013b) Simulink Coder Version 8.5 (R2013b) Simulink Control Design Version 3.8 (R2013b) Simulink Design Optimization Version 2.4 (R2013b) Simulink Design Verifier Version 2.5 (R2013b) Simulink PLC Coder Version 1.6 (R2013b) Simulink Report Generator Version 3.15 (R2013b) Simulink Verification and Validation Version 3.6 (R2013b) Spreadsheet Link EX Version 3.2 (R2013b) Stateflow Version 8.2 (R2013b) Statistics Toolbox Version 8.3 (R2013b) Symbolic Math Toolbox Version 5.11 (R2013b) System Identification Toolbox Version 8.3 (R2013b) SystemTest Version 2.6.6 (R2013b) Trading Toolbox Version 2.0 (R2013b) Vehicle Network Toolbox Version 2.1 (R2013b) Wavelet Toolbox Version 4.12 (R2013b) xPC Target Version 5.5 (R2013b) xPC Target Embedded Option Version 5.5 (R2013b)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值