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 函数,就可以通过了。如下图:


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

阅读更多
文章标签: matlab mes error C3861
个人分类: MATLAB
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭