【问题标题】:Setting name and path of mex file in MATLAB script在 MATLAB 脚本中设置 mex 文件的名称和路径
【发布时间】:2016-11-08 09:47:40
【问题描述】:

我想控制 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);

我也试过没有空格。但我得到这个错误:

错误使用 mex 未知 MEX 参数 '-outdir C:\Users\SELMAO~1\AppData\Local\Temp\'。

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

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

【问题讨论】:

  • 我在我的代码中使用-outdir没问题...
  • 您发现您的实现和我的实现有什么不同吗?
  • 我就叫它mex -someoptions ./folder1/file1.cpp ./folder2/file2.cpp -outdir ./somefolder
  • 我需要使用 mex() 形式,因为我的路径必须使用变量。所以这还没有帮助我。 :(
  • 应该是一样的,我只是把我做的和工作的方式给你了

标签: matlab output mex


【解决方案1】:

奇怪。

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

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

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

【讨论】:

    【解决方案2】:

    你在开头问题的例子中说错了:

     outputDir = ['-outdir ' tempdir];
    
     mex(headerDir,libDir,sourceFilePath,libName,outputDir);
    

    应该是:

    outputDir = {'-outdir' tempdir};
    
    mex(headerDir,libDir,sourceFilePath,libName,outputDir{:});
    

    它错误的原因是你将这两个命令组合成一个字符串,mex 正确地拒绝了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      相关资源
      最近更新 更多