Open3D c++配置(VS2019)

历时三天终于成功了,网络上相关资源太少,踩坑无数,为了避免忘记和给需要的人特此写此篇blog。

本文需要:

1.Git(以及GitTortoise);2.VS 2019;3.cmake(3.18以上版本,推荐安装最新版);4.python环境支持3以上(可选,若不需pybind可不用);5.某些地方的科学上网

Open3D官网:Open3D – A Modern Library for 3D Data Processing

可以根据Build from source — Open3D 0.13.0 documentation

 build from source来看。下面进入安装步骤:

第一步:需要Git:​​​​​​Git(安装Git可以参考别的文章很简单基本一路默认next)

在Git安装完毕的基础上推荐安装gGtTortoise:(有语言包可选)Download – TortoiseGit – Windows Shell Interface to Git

 第二步:在本地新建一个Git仓库,复制open3d的git连接或者gitee等镜像

原链接:https://github.com/isl-org/Open3D

mirror:mirrors / intel-isl / Open3D · CODE CHINA

复制链接,在仓库中右键,选择克隆,若无克隆选项,按住shift再按右键

 以下界面为成功,若出现链接无法连接的情况需要手动下载,或者换源。

 在文件夹右键,选择切换版本(Open3d版本,3rdparty差别较大),我使用的是0.10.0版本。

切换完毕版本后,右键更新子模块(因为配置必须安装子模块否则会失败)

这里有个大坑就是可能某些git链接无响应,此时可以去修改cmake但是比较麻烦,推荐将错误信息(未下载成功的子项记录下来)在github下载下来解压到相应的3rdparty文件夹下,特别提一下,在0.10.0有个大坑fmt模块,默认下载的是6.0.0版本,但是后面会出现找不到<fmt/time.h>头文件的情况,该版本无此头文件,故我又找了之前的版本,亲测5.3.0可用

 

 第三步:cmake

当3rdparty中子模块文件补充完整后,进行cmake,打开cmake_GUI

 填入cmakelist所在文件夹为sourcecode,在该文件夹下新建build(INSTALL名字无所谓)列为where to build,点击configure,然后更改CMAKE_INSTALL_FREFIX为你所新建的build文件夹。再次点击configure,显示done则表示成功了(若有报错根据信息调整,我遇到的一个错误是一个子模块的.cmake文件位置不对把他移出即可),再点击Generate,done后点击open project

(需要选择VS2019以上版本和x64)

 选择release和x64(输出的库也是Realease的),首先生成All_build,此过程中可能需要保持网络还有一些复杂需要下载,某些连接可能还需要外网环境。

成功编译后如下图所示:(若报错,看看输出信息那个模块有问题,其中有些问题可忽略)

 此时就可以去找build中的库与头文件了

build下lib文件夹下为生成的lib(均为静态库)

 头文件在include/open3d下

E:\**\Open3D\build\include\Open3D

 我们可以将这些文件整理出来以便后面使用

打开官方给出的测试代码试试是否可以运行

#include <string>

#include "Open3D/Open3D.h"

int main(int argc, char* argv[]) {
    if (argc == 2) {
        std::string option(argv[1]);
        if (option == "--skip-for-unit-test") {
            open3d::utility::LogInfo("Skiped for unit test.");
            return 0;
        }
    }

    auto sphere = open3d::geometry::TriangleMesh::CreateSphere(1.0);
    sphere->ComputeVertexNormals();
    sphere->PaintUniformColor({ 0.0, 1.0, 0.0 });
    open3d::visualization::DrawGeometries({ sphere });
    return 0;
}

需要配置头文件和链接库(上面图中的库)。

头文件有这些:

 如果出现这样(下图)的报错,预处理器中加入 CURL_STATICLIB (主要原因依然是缺少库文件)

此外若报错如下图:

 需要在库中再加入OpenGL32.lib(无需添加附加目录,是win10 SDK自带的)

 再次运行报错消失,输出如下:

 球是可以用鼠标旋动的,至此完结撒花!!!

同样也可以根据官网的方法操作在console界面通过命令完成。

  • 9
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
Open3D是一个用于3D数据处理的现代化开源库,支持Python和C++。你可以在Open3D的官方网站上找到更多关于Open3D的信息。如果你想在C++中调用Open3D,你需要满足一些条件,包括安装Open3D的Git源代码、CMake版本大于等于3.20和Clang版本大于等于7。对于C++中的新工程,你可以参考下面的CMakeLists.txt示例,以适配之前的安装路径: ``` cmake_minimum_required(VERSION 3.20.1) project(open3d_example) set(CMAKE_BUILD_TYPE "Release") set(CMAKE_CXX_FLAGS "-std=c++17") set(Open3D_DIR ${HOME}/open3d_install/lib/cmake/Open3D) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # 查找Open3D find_package(Open3D HINTS REQUIRED) list(APPEND Open3D_LIBRARIES dl) if (Open3D_FOUND) message(STATUS "Found Open3D ${Open3D_VERSION}") link_directories(${Open3D_LIBRARY_DIRS}) endif() # 添加cpp文件 add_executable(open3d_test src/open3d_test.cpp) target_link_libraries(open3d_test ${Open3D_LIBRARIES}) ``` 这样,你就可以在你的C++项目中使用Open3D了。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Open3D c++配置VS2019)](https://blog.csdn.net/m0_46611008/article/details/121417972)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Open3D】如何在CMake/C++中调用Open3D](https://blog.csdn.net/weixin_44044411/article/details/128687221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MendozaG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值