为Android构建PCL

为Android构建PCL,第1张

概述有没有人有关于为 Android构建Point Cloud Library(PCL)的说明?我找到了一些声称可以构建PCL及其依赖项的PCL超级构建.我尝试了 http://www.hirotakaster.com/weblog/how-to-build-pcl-for-android-memo/的superbuild.我使用的是Ubuntu 14.10,Android 19,NDK r10d和P 有没有人有关于为 Android构建Point Cloud library(PCL)的说明?我找到了一些声称可以构建PCL及其依赖项的PCL超级构建.我尝试了 http://www.hirotakaster.com/weblog/how-to-build-pcl-for-android-memo/的superbuild.我使用的是Ubuntu 14.10,AndroID 19,NDK r10d和PCL 1.6.0,但我愿意使用任何版本.我也在使用终端进行编译.对于AndroID硬件,我使用的是Project Tango.

我尝试使用androID-cmake(http://code.google.com/p/android-cmake/),但我不确定如何构建正确的工具链.我不断收到错误“在NDK中找不到任何正在运行的工具链.可能你的AndroID NDK坏了.”我也用普通的cmake和ccmake得到了这个错误.

有没有人有关于为AndroID构建PCL的任何详细说明(例如,bash脚本或终端说明)?或者,是否有人有预建库的链接?

解决方法 (Caveat Emptor:这不是长期解决方案)

我能够通过编辑cmake文件来解决CMAKE错误

pcl-superbuild/toolchains/toolchain-androID.cmake

这两个更改应该超过上面提到的错误:

set( ANDROID_NDK_HOST_SYstem_name "linux-x86" ) # line 468

应该

set( ANDROID_NDK_HOST_SYstem_name "linux-x86_64" )

这将产生另一个错误,除非您更改以下行(第1023行)

if( ANDROID_NDK_RELEASE STRGREATER "r8" ) # r8b

应该

if( ANDROID_NDK_RELEASE STRGREATER "r10" ) # r8b

第一个更改将_64添加到x86_64.第二个增加了r10d的兼容性.

但这并不能解决所有错误,因为BOOST线程与GCC 4.6不能很好地配合.实现此链接中显示的补丁(https://svn.boost.org/trac/boost/ticket/6165).

同样,这仍然无法解决所有错误. (我还没弄清楚为什么还需要这个,math.h不应该需要std::).在文件中,

pcl-superbuild/CMakeExternals/Source/pcl/common/include/pcl/pcl_macros.h

编辑第99-102行:

# define pcl_isnan(x)    isnan(x)# define pcl_isfinite(x) isfinite(x)# define pcl_isinf(x)    isinf(x)

他们应该是:

# define pcl_isnan(x)    std::isnan(x)# define pcl_isfinite(x) std::isfinite(x)# define pcl_isinf(x)    std::isinf(x)

PCL仍然会产生很多警告,但至少它会编译(到目前为止)

**编辑:**

这不会让你一直(不幸的是)因为升级库与C 11不能很好地兼容.

要解决此问题,请从http://sourceforge.net/projects/boost/files/boost/1.55.0/下载boost 1.55,并覆盖boost目录

pcl-superbuild/CMakeExternals/Source/boost/boost_1_45_0

(第一次运行make时会创建此目录).

接下来,修改

PCL-superbuild / CMakeExternals /来源/升压/的CMakeLists.txt

并找到该行:

@R_301_6852@(GLOB lib_srcs ${boost_root} / libs / @R_301_6852@system / v2 / src / * .cpp)

用它替换它

文件(GLOB lib_srcs ${boost_root} / libs / @R_301_6852@system / src / * .cpp)

就我而言,这就是我的意思

总结

以上是内存溢出为你收集整理的为Android构建PCL全部内容,希望文章能够帮你解决为Android构建PCL所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1122328.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存