看起来这个问题似乎已经被提出过了,但经过几天处理这个问题并寻找解决方案之后,我想出来了 . 首先,我使用的是matlab2012a

所以我编译了mexa64文件,我们称之为foo.mexa64 . 我的电脑可以处理64位(matlab >>电脑,返回GLNXA64) . 我已经使用pathtool将foo.mexa64所在的文件夹添加到路径中 . 当我打开matlab时,我这样做了,所以变化就在那里 . 这也不在root / toolbox文件夹中,它保存在我的Documents / MATLAB ... / fooDirectory文件夹中 .

我可以在命令行中运行这些mex文件在不同的目录中,一切正常 . 但是我不能在函数中调用它们,我得到“未定义函数'foo'用于'double'类型的输入参数”错误 .

使用'which foo'函数返回路径:home /.../ Documents / MATLAB /.../ fooDirectory / foo.mexa64

'help foo'返回foo not found

为了检查,我在fooDirectory文件夹中创建了一个dummy.m文件 . 此功能可以在目录外的其他功能中运行,没有任何问题 .

如果您还有其他需要,请告诉我,我完全不知所措!