没有加载Mex二进制文件

时间:2013-06-04 22:38:07

标签: matlab

我正在尝试使用http://www.cmap.polytechnique.fr/~aspremon/ZIP/COVSEL.zip处提供的此软件。它们具有在matlab文件spmlcdvec.m中定义的函数spmlcdvec。它还调用了一个函数BoxQP,它为它提供了一个名为BoxQP.mexmac的二进制mex文件。但是,当我运行函数spmlcdvec时,它说

Undefined function 'BoxQP' for input arguments of type 'double'.

我该怎么办?怎么回事?

1 个答案:

答案 0 :(得分:3)

在命令窗口中运行mexext。如果它没有返回mexmac(或文件夹中也存在的mexw32),那么您将无法运行BoxQP功能。这些只是旧文件 - 我看到它们是从2006年开始的。如果你现在使用任何形式的OS X,你将获得mexmaci64,这是不兼容的。但是,看起来他们已经有用地包含了所有源代码,因此您可以希望为您的系统编译二进制文件。有关编译mex代码see this的详细信息。

然后,正如@alrikai建议的那样,你的BoxQP函数需要在你的道路上。确保从同一文件夹中调用代码或从命令窗口运行path并检查该目录是否已正确添加(如果这样做)。另请参阅addpath