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

标签 matlab compilation makefile cmake flann

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

最佳答案

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

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

关于matlab - 如何使用cmake命令更改MATLAB路径以编译FLANN的mex文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434519/

相关文章:

MATLAB:在两个矩阵上应用函数的有效(矢量化)方法?

matlab 和 opencv 灰度图像值不同

使用 CPLEX API 进行线性规划时 MATLAB 崩溃

compilation - 为什么Erlang编译:file does not report error for unknown options?

makefile - cmake和并行构建与 "make -jN"

matlab - 如何在 matlab 中加载一部分 .mat 文件

compiler-errors - 在LAN中运行MPI群集程序时出错

c# - 尝试使用自定义类编译类会导致错误 CS0246

linux - Makefile 生成具有相同名称但按两种不同规则生成的文件

windows - 如何让Qt Creator的jom.exe复制带空格的路径中的文件?