C++版本
下载
Releases · isl-org/Open3D (github.com)
寻找对应本版的source code
CMake编译Open3d库
- 首先注意CMake版本应当大于或者等于3.20,不是请升级CMake版本。
- 生成构建系统所需的 Makefiles 或其他构建工具的文件。
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="D:\Open3D-0.17.0\install" ..
- `-G "Visual Studio 16 2019"` 指定生成 Visual Studio 2019 项目。
- `-A x64` 指定生成 64 位项目。
- `-DCMAKE_INSTALL_PREFIX="D:\Open3D-0.17.0\install"` 指定安装路径为 "D:\Open3D-0.17.0\install"。这是在构建项目后,将生成的文件复制到该位置的路径。
下列是一些CMake中选项及其作用:
BUILD_SHARED_LIBS:
此选项用于指定是否构建共享库(Shared Libraries)。如果将其设置为 ON
,则项目将会构建共享库,此时windows库的运行链接方式为MT;如果设置为 OFF
,则项目将构建静态库,此时windows的库的运行链接方式为MD。
BUILD_PYTHON_MODULE:
此选项用于是否构建python模块,个人建议设置成OFF,否则可能因为python环境导致pybind error的错误。
当然还有其他选项,可以根据报错信息进行关闭。
cmake -D CMAKE_BUILD_TYPE=debug ..
- 编译整个项目的源代码,花费时间较长,请耐心等待。
cmake --build . --config Release --target ALL_BUILD
- 将已构建的项目安装到系统中:二进制文件、库文件、头文件等复制到系统的指定目录中(如"D:\Open3D-0.17.0\install"),以便项目可以在系统上运行或与其他项目一起使用。
cmake --build . --config Release --target INSTALL
- 安装完成后install文件下的文件
测试代码
读取pcd文件进行显示
#include <iostream>
#include <Open3D/Open3D.h>
int main()
{
std::string fileName("xx.pcd");
auto cloud = std::make_shared<open3d::geometry::PointCloud>();
open3d::visualization::DrawGeometries({cloud});
return 0;
}
CMakeLists写法
cmake_minimum_required(VERSION 3.20)
project(Test VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Open3D HINTS REQUIRED)
message(STATUS "Found Open3D ${Open3D_VERSION}")
include_directories(${Open3D_INCLUDE_DIRS} )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Open3D_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Open3D_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Open3D_EXE_LINKER_FLAGS}")
add_executable(Main main.cpp)
target_link_libraries(Main ${Open3D_LIBRARIES})
python版本
python直接pip加上豆瓣镜像源即可快速安装
pip install open3d -i https://pypi.douban.com/simple