如何使用cmake命令更改MATLAB路径以编译FLANN的mex文件?

时间:2013-08-25 22:49:59

标签: matlab compilation makefile cmake flann

我尝试在远程机器上编译FLANN,我不是root用户。为此我在家里编译了cmake并设置了一个别名来调用。我还从网上下载了FLANN,并按照手册中的建议处理编译。

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

2 个答案:

答案 0 :(得分:3)

另一种解决方案(对我有用)是为 / usr / local / bin 中的 mexext 创建一个符号链接,指向 mexext <实际上找到了/ strong>。

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

答案 1 :(得分:2)

(解决方案在评论中。见Question with no answers, but issue solved in the comments (or extended in chat)

OP写道:

  

我通过将matlab路径放在$PATH

上的第一个位置来解决问题