在windows下源码编译GPU版的Open3d-0.17.0-vs2019

文章目录

  • 前言
    • 编译前的准备
    • 编译过程
    • 编译过程中遇到的bug
      • 1.下载超时问题,curl、filament、ispc、zeromq包等。
      • 2. DirectXMath、DirectXHeaders包问题。
      • 3. pytorch版本问题。
    • 编译好的Open3d-gpu版的动态库和静态库

前言

现在官网上的open3d放出来的下载包,都是编译好的默认cpu版本的dll和lib库,对于不想麻烦的可以直接去下载编译好的Open3d包,但对于有GPU需求的童鞋不太友好,所以在此放出open3d-gpu版的编译过程、遇到的bug以及相应的解决方案,文末也会放出编译好的GPU版的open3d的动态库Dll和静态库文件。

编译前的准备

源码下载:Open3d Github链接,下载好压缩包后解压,也可以使用命令:git clone https://github.com/isl-org/Open3D.git 然后在项目目录中新建文件夹:build(随便什么名字都可以 记住路径就行);修改Open3d中的CMakeLists.txt文件,修改地方有:
BUILD_CUDA_MODULE=ON BUILD_COMMON_CUDA_ARCHS=ON BUILD_ISPC_MODULE=OFF BUILD_WEBRTC=OFF BUILD_SHARED_LIBS=ON
其他软件版本:

  1. cmake = 3.25.3
  2. python = 3.9.12
  3. visual studio = 2019 community
  4. Open3d = 0.17.0

编译过程

可以使用cmake-GUI,也可以使用cmd在终端中进行编译,前者更方便更改编译选项,但因为网络问题,我使用的是后者:

cd build#跳转到你创建的build路径
cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="." .. 

解决完过程中出现的Bug,再进行下一步:

cmake --build . --config Release --target ALL_BUILD 
cmake --build . --config Release --target INSTALL

这一步会生成所有需要的Lib文件以及Open3d.dll文件,也比较耗时,需要下载许多第三方库,编译过程中遇到的大部分Bug也是由于这些第三方库没有成功下载。

编译过程中遇到的bug

1.下载超时问题,curl、filament、ispc、zeromq包等。

这些三方库可以先离线下载,然后将压缩包放到Open3D\3rdparty_downloads对应的包名目录下,再重新进行编译。

2. DirectXMath、DirectXHeaders包问题。

通过离线下载的方式,将DirectX-Headers和DirectXMath两个项目clone下来,在Open3D\build\uvatlas\src分别新建ext_directxheaders和ext_directxmath,将两个项目分别放到这两个目录下,再重新编译。

3. pytorch版本问题。

open3d 0.17.0不支持torch2.0以上的版本,但Open3d 0.18.0支持。

编译好的Open3d-gpu版的动态库和静态库

正在制作,打包好后会放出来。

你可能感兴趣的:(数据处理,计算机视觉,人工智能,windows,图像处理)