在 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 正确拒绝的单个字符串。
我想控制 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 正确拒绝的单个字符串。