问题描述
请帮助我在Matlab 2018b Ubuntu20中编译mex文件。我知道了
使用mex时出错
未知文件扩展名''。
编译器设置编译器是g ++,在命令窗口中可以看到。头文件和库位于定义为path1和path2的两个文件夹中。
mex编译的代码是
path1 = '/usr/local/include/OpenEXR/';
path2 = '/usr/local/lib/';
mex ('/mnt/D/D/ZJU Data/HDR/softwre/MatlabEXR/exrinfo.cpp',path1,path2)
我也尝试过
mex exrinfo.cpp / usr / local / lib / / usr / local / include / OpenEXR /
为什么会出现未知文件扩展名错误?
解决方法
请查看mex
命令in the online documentation的语法。
传递给它的参数将被解释为源文件或标志。标志始终以“ -
”开头。由于path1
和path2
的开头不是“ -
”,因此它们被解释为源文件。但是它们没有扩展名,mex
试图使用扩展名来猜测它们是用哪种语言编写的,从而导致错误。
您可能打算这样做:
path1 = '-I/usr/local/include/OpenEXR/';
path2 = '-L/usr/local/lib/';
(““ -I
”代表包含路径,“ -L
”代表库路径。)