MATLAB 错误使用 mex 的问题: error C3861: “max” : 找不到标识符 [ error C3861: 'max' : identifier not found ]

MATLAB 2017b   |   VS 2013

在 MATLAB 运行 mex 时,遇到了这样的问题,主要提示找不到某些标识符。如图所示。

其实这里matlab翻译的不友好,一开始不知道 : error C3861: “max” (“min”): 找不到标识符 是什么意思。后来一查,其实英文对应的是

error C3861: 'max' ('min'): identifier not found

也就是说,max 和 min 函数没有定义。




不过奇怪,这两个函数 VS 2013 怎么可能没有定义呢。参考网站 

https://social.msdn.microsoft.com/Forums/vstudio/en-US/455d1a2b-00fb-40c2-a8e0-cda9b7255167/error-c3861-max-identifier-not-found?forum=vclanguage

得知,应该是源代码是用 VS 旧版本的过,新版本函数名称可能有所变更。

在上面这个参考网站上,提出了很多方法,不一一列举。挨个尝试后发现如下方法管用:

即打开提示的函数文件,如上图中,提示 vecnn.cpp 出错,打开这个文件,如下图


在文档前添加新函数

#include <minmax.h>

 如下图所示


再次运行 MATLAB 函数,就可以通过了。如下图:


希望该分享对大家有所帮助!

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值