3

我尝试在我不是 root 用户的远程机器上编译 FLANN。为此,我在家里编译了 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
...

由于这个问题,当我执行 .matlab mex 文件时没有编译make。即使我尝试设置一些 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
4

2 回答 2

3

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

sudo ln -s /usr/local/MATLAB/R2016a/bin/mexext /usr/local/bin/mexext
于 2016-11-02T20:12:14.087 回答
2

(解决方案在评论中。请参阅没有答案的问题,但问题在评论中解决(或在聊天中扩展)

OP写道:

我通过将matlab路径放在首位解决了这个问题$PATH

于 2015-01-24T21:14:00.690 回答