在编译器命令中设置mex文件的输出目录

时间:2016-03-04 13:58:58

标签: matlab mex

我的项目具有以下结构:

MainFolder:
  >>InitToolbox.m     //Here addpaths are executed
  >>Compile.m         //Here mex compilations calls are made
    AlgorithmsFolder  //MATLAB code
    UtilitiesFolder   //MATLAB code
    MexFolder         // C++ files
       >>test1.cpp
       >>test2.cu

当我运行(在compile.m或直接在命令行中)以下编译器调用时:

mex -v -largeArrayDims ./MexFolder/test1.cpp ./MexFolder/test2.cu

输出test1.mexw64保存在MainFolder

有没有办法修改编译器调用以在文件的原始位置或特定的用户定义位置创建.mexw64文件?

1 个答案:

答案 0 :(得分:3)

您想使用mex

outdir选项指定输出目录
mex -v -largeArrayDims ./MexFolder/test1.cpp ./MexFolder/test2.cu -outdir output_directory
上面的

“output_directory”可以是您想要的任何路径。

它也可以是变量,但这需要您更新调用方式mex

outputFolder = 'path/to/folder';

mex('-v', '-largeArrayDims', 'MexFolder/test1.cpp', ...
    'MexFolder/test2.cu', '-outputdir', outputFolder);