在 MATLAB 脚本中设置 mex 文件的名称和路径

Setting name and path of mex file in MATLAB script

我想控制 mex 文件的路径和生成的文件名。

这是我的构建命令目前的样子:

sourceFilePath = [tempname,'.cpp']; libDir = ['-L' libDir];  libName = ['-l' libName]; headerDir = ['-I' headerDir];

mex(headerDir,libDir,sourceFilePath,libName);

这很好用。但是现在我想使用自定义 mex 文件名和自定义路径。

我在 official docu 中看到有选项 -outdir-output。所以我尝试以类似的方式解决这些问题:

outputDir = ['-outdir ' tempdir];

mex(headerDir,libDir,sourceFilePath,libName,outputDir);

我也试过没有 space。但是我得到这个错误:

Error using mex Unknown MEX argument '-outdir C:\Users\SELMAO~1\AppData\Local\Temp\'.

当我尝试使用 -output 选项时出现同样的问题。

有什么想法吗?提前致谢!

奇怪。

如果我将选项设置为内联,它就会起作用。如果我像以前一样将它设置为一个整体变量,它就不会。

mex(headerDir,libDir,sourceFilePath,libName,'-outdir',tempname);

这可能会对其他人有所帮助。

你在开始问题的例子中称它错了:

 outputDir = ['-outdir ' tempdir];

 mex(headerDir,libDir,sourceFilePath,libName,outputDir);

应该是:

outputDir = {'-outdir' tempdir};

mex(headerDir,libDir,sourceFilePath,libName,outputDir{:});

错误的原因是您将这两个命令组合成 mex 正确拒绝的单个字符串。