【问题标题】:How to change MATLAB path to compile mex files of FLANN with cmake command?如何更改 MATLAB 路径以使用 cmake 命令编译 FLANN 的 mex 文件?
【发布时间】:2013-08-25 22:49:58
【问题描述】:

我尝试在我不是 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
...

由于这个问题,当我执行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

【问题讨论】:

  • 能否添加这三个命令的输出:echo $PATHwhich mexwhich mexext
  • 我通过将 matlab 路径放在 $PATH 上的第一位来解决问题

标签: matlab compilation makefile cmake flann


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    OP 写道:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-12
      • 2015-05-23
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      • 1970-01-01
      相关资源
      最近更新 更多