matlab 编译nearest_neighbors.cpp

本文介绍了在MATLAB中编译nearest_neighbors.cpp时遇到的问题及解决步骤。通过将FLANN库的cpp文件复制到matlab目录,修改相关头文件引用,并调整mex_C++_win64.xml的编译选项,成功解决了编译过程中遇到的“cmd.exe”退出错误,最终生成了mex文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Matlab mex nearest_neighbors.cpp注意事项
这几天尝试用Cmake+matlab+VS2015编译Flann库的matlab接口,最后在VS2015中build mex_nearest_neighbors时,一直出现“cmd.exe”已退出,值为-1,。查阅大量网上教程,一直没有解决。现在使用matlab直接mex nearest_neighbors.cpp,生成nearest_neighbors.mexw64,方法如下:
1 将src\cpp下的flann文件夹拷贝至src\matlab中
在这里插入图片描述

2修改nearest_neighbors.cpp文件
将#include <flann/flann.h>改成
#include “flann/flann.cpp”
3 同样修改flann\algorithms中的kmeans_index.h
在这里插入图片描述
在这里插入图片描述

4 打开Matlab(我使用的事Matlab2021a)
进入nearest_neighbors.cpp的文件夹,输入mex nearest_neighbors.cpp回车,发现以下错误
在这里插入图片描述

解决方法参考博文https://blog.youkuaiyun.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值