2013-08-25 151 views
3

我试图编译远程机器上的FLANN,我不是root用户。为此,我在家中编译了cmake并设置了一个别名来调用。我还从网上下载了FLANN,并按照手册中的建议处理汇编。如何更改MATLAB路径以使用cmake命令编译FLANN的mex文件?

mkdir build 
cd build 
cmake .. 
make 

它被编译时没有错误,但matlab模块和mex编译。即使我将matlab bin添加到$ PATH中,它会在cmake ..之后发出以下警告。

... 
CMake Warning at src/matlab/CMakeLists.txt:57 (message): 
    The 'mex' and 'mexext' programs have been found in different locations. 
    It's likely that one of them is not part of the MATLAB instalation. Make 
    sure that the 'bin' directory from the MATLAB instalation is in PATH 
... 

由于此问题,当我执行make MATLAB MEX文件不会被编译。 即使我尝试设置一些cmake配置,我也无法以任何方式解决此问题。有没有建议来处理这个编译问题?

echo $PATH 
/home/y/bin:/usr/kerberos/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin:/usr/local/matlab/bin 

which mex 
/usr/local/bin/mex 

which mexext 
/usr/local/matlab/bin/mexext 
+0

您可以添加这三个命令的输出:'echo $ PATH','哪个mex',哪个mexext'? –

+0

已经完成@MattB。 – erogol

+1

我通过将matlab路径放在$ PATH中的第一个位置来解决问题 – erogol

回答

3

另一种解决方案(为我工作)是为mexext创建一个符号链接 in /usr/local/bin那指向哪里mexext实际上是找到的。

sudo ln -s /usr/local/MATLAB/R2016a/bin/mexext /usr/local/bin/mexext