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

前言

现在官网上的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-HeadersDirectXMath两个项目clone下来,在Open3D\build\uvatlas\src分别新建ext_directxheaders和ext_directxmath,将两个项目分别放到这两个目录下,再重新编译。

3. pytorch版本问题。

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值