繁体   English   中英

法兰对Matlab的依赖-MEX

[英]flann dependency to matlab - MEX

当我尝试从ubuntu机器上的源代码安装flann库时,遇到以下错误。

/ flann-master / src [72] mkdir构建

/ flann-master / src [73]光盘生成

/ flann-master / src / build [74] cmake ..

位于cpp / CMakeLists.txt:3(add_definitions)的CMake警告(dev):未设置策略CMP0005:预处理程序定义值现在自动转义。 运行“ cmake --help-policy CMP0005”以获取策略详细信息。 使用cmake_policy命令设置策略并禁止显示此警告。 此警告是针对项目开发人员的。 使用-Wno-dev禁止它。

在cpp / CMakeLists.txt:114上的CMake错误:(安装):为共享库目标“ flann_cpp”提供没有库目标的安装目标。

CMakeLists.txt中的CMake警告(dev):不存在cmake_minimum_required命令。 一行代码,例如

cmake_minimum_required(版本2.8)

应该添加到文件的顶部。 如果您希望此项目支持较旧的CMake版本,则指定的版本可能会更低。 有关更多信息,请运行“ cmake --help-policy CMP0000”。 此警告是针对项目开发人员的。 使用-Wno-dev禁止它。

-配置不完整,发生错误!

/ flann-master / src / build [75]

在另一个问题中提到了解决方案。 我应该在根目录中(包含bin,src,examples等),它已经解决了。 在文档中还有另一个我应该运行的部分

进行安装

由于我在远程计算机上更慢,因此需要将其安装在主目录中。 因此,我在flann(flanninstall)之外创建了一个新目录,并尝试使用以下命令。

cmake -DCMAKE_INSTALL_PREFIX = / home / eson / matlab / flanninstall / ..

我希望它可以帮助我在主目录中生成文件,并且可以将其复制或链接到matlab。 但是,我将文件从该地址复制到正在使用matlab编写脚本的当前目录中。 我仍然低于错误。

-> g ++-4.4 -c -I / usr / local / MATLAB / 2012a / extern / include -I / usr / local / MATLAB / 2012a / simulink / include -DMATLAB_MEX_FILE -ansi -D_GNU_SOURCE -fPIC -fno-omit-frame-指针-pthread -DMX_COMPAT_32 -O -DNDEBUG“ nearest_neighbors.cpp”

最近的邻居:cpp:35:致命错误:flann / flann.h:没有终止此类文件或目录的编译。

混合:编译““ nearest_neighbors.cpp””失败。

使用mex时出错(第206行)无法成功完成。

较早的@rayryeng帮助我进行了MEX设置,但是当我尝试在命令下运行时,遇到了较早的问题。

混合-v -O最近的邻居.cpp

感谢您的建议。

我刚刚发现我需要在Linux中为我的用户设置LD_LIBRARY_PATH。 该命令将是:

导出LD_LIBRARY_PATH =“ / home / eson / alg / matlab / flanninstall / lib:$ LD_LIBRARY_PATH”

如果您在计算机上具有root用户访问权限或sudo访问权限,则此路径与应添加的常规路径不同。 那将类似于下面的代码:

导出LD_LIBRARY_PATH =“ / Your_build / build / lib:$ LD_LIBRARY_PATH”

上面的路径可能不完全正确,因为它可能是以/ usr / local /或/ usr / include /开头的。 如果我了解一般情况的确切路径,或者其他人有完整的答案,则将对其进行更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM