似乎已经有人问过这个问题了,但经过几天处理这个问题并寻找解决方案之后,我才会空洞。首先,我正在使用matlab2012a
所以我编译了mexa64文件,我们称之为foo.mexa64。我的电脑可以处理64位(matlab>>计算机,返回GLNXA64)。我已经使用pathtool将foo.mexa64所在的文件夹添加到路径中。当我打开matlab时我这样做了,所以变化就在那里。这也不在root / toolbox文件夹中,它保存在我的Documents / MATLAB ... / fooDirectory文件夹中。
我可以在命令行中的不同目录中运行这些mex文件,一切正常。但是我无法在函数中调用它们,我得到“未定义函数'foo'用于'double'类型的输入参数”错误。
使用'which foo'函数返回路径: 家/.../文档/ MATLAB /.../ fooDirectory / foo.mexa64
'help foo'返回 foo not found
要检查,我在fooDirectory文件夹中创建了一个dummy.m文件。此功能可以在目录外的其他功能中运行,没有问题。
如果您还有其他需要,请告诉我,我完全不知所措!