windows/linux/mac上编译open3d 0.17.0

这篇具有很好参考价值的文章主要介绍了windows/linux/mac上编译open3d 0.17.0。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

1、本文内容
windows/linux/mac上编译open3d 0.17.0

2、平台
通过cmake构建项目,跨平台通用
3、转载请注明出处:
https://blog.csdn.net/qq_41102371/article/details/131891820

准备

clone源码,指定0.17.0版本

mkdir open3d170
cd open3d170
git clone -b 0.17.0 https://github.com/isl-org/Open3D.git

编译

windows:

运行下面的命令或者保存至compile.bat运行

cmake -DCMAKE_INSTALL_PREFIX=./open3d170 -DGLIBCXX_USE_CXX11_ABI=OFF ^
-DBUILD_PYTHON_MODULE=OFF -DBUILD_WEBRTC=OFF -DBUILD_EXAMPLES=OFF ^
-DBUILD_ISPC_MODULE=ON -DBUILD_GUI=OFF -S ./Open3D -B ./build
cmake --build ./build --config Release --parallel 8 --target install

如果遇到
error C4996: ‘fmt::v9::detail::arg_mapper::map’: 被声明为已否决
这个问题,找了很多地方包括官方的issue,说了是什么原因但都没有明确易懂的解决方式(截止本文写作时间20230724,若后面官方已出解答,请在评论区留言,谢谢)
https://github.com/isl-org/Open3D/issues/6257

目前暂时可行的解决方法是,在Open3D/CMakeLists.txt添加:

if(WIN32)
    add_compile_options("/wd4996")
endif()

windows/linux/mac上编译open3d 0.17.0,cmake,点云算法,open3d,linux,macos,windows,open3d

后面可能再遇到链接库时失败的问题:
ssl.lib(ssl_lib.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(OfflineReconstruction.obj 中)

暂时的解决方法只有不编译OfflineReconstruction,找打Open3D/cpp/apps/CMakeLists.txt的最后一行,把它注释掉就不会编译OfflineReconstruction了(不编译OfflineReconstruction不会影响Open3D库的使用)

# open3d_add_app_common(OfflineReconstruction OfflineReconstruction OfflineReconstruction)

windows/linux/mac上编译open3d 0.17.0,cmake,点云算法,open3d,linux,macos,windows,open3d

linux/mac:

compile.sh

cmake -DCMAKE_INSTALL_PREFIX=./open3d170_install -DGLIBCXX_USE_CXX11_ABI=OFF \
-DBUILD_PYTHON_MODULE=OFF -DBUILD_WEBRTC=OFF -DBUILD_EXAMPLES=OFF \
-DBUILD_ISPC_MODULE=OFF -DBUILD_GUI=OFF -S ./Open3D -B ./build
cmake --build ./build --config Release --parallel 8 --target install

在mac上,需要提前安装

brew install gfortran
brew install libomp

如果报错 fatal error: ‘experimental/filesystem’ file not found ,参考
https://github.com/isl-org/Open3D/issues/6211
把原来的注释掉,修改为

// #include <experimental/filesystem>
// namespace fs = std::experimental::filesystem;
#include <filesystem>
namespace fs = std::__fs::filesystem;

若在在linux下和ros一起使用,请在编译命令添加

-DGLIBCXX_USE_CXX11_ABI=OFF

注:

不管哪个平台,期间可能会遇到很多库下载超时的错,根据报错信息,下载链接里的文件放到指定路径就行,比如
windows/linux/mac上编译open3d 0.17.0,cmake,点云算法,open3d,linux,macos,windows,open3d

–parallel 8表示用8个处理器进行编译,看本机支持多少个,数量越多,编译越快

-DCMAKE_INSTALL_PREFIX=./open3d170_install指定安装目录为open3d170_install,顺利编译完成并且安装成功后,open3d0.17.0会安装到目录open3d170/open3d170_install
windows/linux/mac上编译open3d 0.17.0,cmake,点云算法,open3d,linux,macos,windows,open3d

参考

https://github.com/isl-org/Open3D/issues

主要做激光/影像三维重建,配准、分割等常用点云算法,技术交流、咨询可私信文章来源地址https://www.toymoban.com/news/detail-603412.html

到了这里,关于windows/linux/mac上编译open3d 0.17.0的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mac安装open3d时候出现错误

    在测试open3d是否正常顺利安装时,出现了如下错误: 解决方法是运行如下命令: 问题即可解决,再运行测试open3d版本号的命令: 即可显示版本号:

    2024年02月13日
    浏览(32)
  • M1(arm) Mac安装open3d

    说在前面:open3d对arm架构的机器支持相对比较晚,所以目前还在完善当中,我试了官方给出的两种方法安装都出现了错误:首先给出官方的安装说明: Open3D ARM support 第一种:conda环境直接使用pip安装,即如下命令: 但是这种情况的大概率会出错,比较常见的两种错误,一个

    2024年02月03日
    浏览(28)
  • 手把手教你在windows下源码编译Open3D

    首先不建议windows下源码编译,需要用C++的可以直接下载官网编译好的版本。熟悉vcpkg的,可以把open3d加到vcpkg使用,参考该博客。 cmake =3.20 python =3.6.0 visual studio =2017 Github下载open3d源码 打开源码,新建build文件夹 填写你的VS版本,例vs2022(17),open3d_install_directory使用当前路径

    2024年02月05日
    浏览(43)
  • open3d教程(一):open3d的安装和测试(Python版本)

    Open3d:用于3D数据处理的现代库。 Open3D 是一个开源库,支持快速开发处理 3D 数据的软件。 Open3D 前端在 C++ 和 Python 中公开了一组精心挑选的数据结构和算法。后端经过高度优化,并设置为并行化。我们欢迎来自开源社区的贡献。 Open3d的核心功能: 3D数据结构 3D数据处理算法

    2024年02月17日
    浏览(38)
  • Open3D点云数据处理(一):VSCode配置python,并安装open3d教程

    专栏地址:https://blog.csdn.net/weixin_46098577/category_11392993.html 在很久很久以前,我写过这么一篇博客,讲的是open3d点云处理的基本方法。👇 当时是 PyCharm + Anaconda + python3.8 + open3d 0.13 已经是2023年了,现在有了全新版本。目前python由当年的3.8更新到了3.11版本,open3d也从0.13来到了

    2024年02月07日
    浏览(46)
  • 【Open3D可视化——添加标签】:如何在Open3D的可视化窗口中添加文字标签?

    【Open3D可视化——添加标签】:如何在Open3D的可视化窗口中添加文字标签? Open3D是一个基于Python语言开发的跨平台开源工具包,主要用于三维数据处理和可视化。在进行三维数据可视化过程中,往往需要在场景中添加标签来标识物体、点云等信息。本文将介绍如何在Open3D的可

    2024年02月11日
    浏览(41)
  • Open3D学习笔记

    Open3D是一个开源库,它支持处理3D数据的软件的快速开发。Open3D前端在C++和Python中有一些公开的数据结构和算法。后端经过高度优化,并设置为并行化。 PCL也是3D点云数据处理的优秀开源库,在C++平台上表现较好,但是在Python上python-pcl长时间不更新,维护少,不太好用,不建

    2024年02月01日
    浏览(30)
  • Open3D读取文件

    Open3D可以读取点云文件,三角网格文件,也可以读取图片。具体方法如下: 一、点云文件操作         Open3D支持的文件格式有xyz,xyzn,xyzrgb,pts,ply,pcd等文件。读取的方式也非常简单。data = o3d.io.read_point_cloud(\\\"文件名“) 1、读写文件         函数原型如下:    

    2024年02月08日
    浏览(38)
  • 什么是open3D?

    目录 一、说明 二、如何安装open3d?  三、显示点云数据 3.1 显示点云场景数据 3.2 体素下采样 3.3 顶点法线估计         对于点云 处理,这里介绍哦pen3d,该软件和opencv同样是interl公司的产品。         Open3D 是一个开源库,支持快速开发处理 3D 数据的软件。 Open3D 前

    2024年02月03日
    浏览(43)
  • Open3D-读取深度图

           深度图像(Depth Images)也被称为距离影像(Range Image),是指将从图像采集器到场景中各点的距离值作为像素值的图像,它直接反应了 景物可见表面的几何形状 。获取方法有: 激光雷达深度成像法、计算机立体视觉成像、坐标测量机法、莫尔条纹法、结构光法。

    2024年02月13日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包