gpt4 book ai didi

android - 为 Android 构建 PCL

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:36 32 4
gpt4 key购买 nike

有人有关于为 Android 构建点云库 (PCL) 的说明吗?我发现了一些声称能够构建 PCL 及其依赖项的 PCL super 构建。我尝试了 http://www.hirotakaster.com/weblog/how-to-build-pcl-for-android-memo/ 的 super 构建.我使用的是 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 脚本或终端说明)?或者,有人有预建库的链接吗?

最佳答案

(注意买者:这不是一个长期的解决方案)

我能够通过编辑 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 仍然会生成许多警告,但至少它可以编译(到目前为止)

**编辑:**

这不会让你一路走下去(不幸的是)因为 boost 库不能很好地与 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/Source/boost/CMakeLists.txt

并找到这一行:

文件(GLOB lib_srcs ${boost_root}/libs/filesystem/v2/src/*.cpp)

替换为

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

这就是我所得到的

关于android - 为 Android 构建 PCL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266543/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com