Open3D 0.16.0在今年2022发布后,目前网上还没有编译相关的介绍。本文旨在带领大家实现Open3D0.16.0的编译。
第一步:下载Open3D0.16.0源码,自行在官网下载或在下面的网盘链接中下载;
第二步:修改代码或配置。
(1)项目里面有很多工程将警告视为错误,修改CMakeLists.txt,在最前面加上add_definitions(-w);
(2)修改fmt中的core.h文件(需要先Build一下之后才会有这个文件),修改内容如下:
第一处:bool is_packed() const { return (types_ & internal::is_unpacked_bit) == 0; }
改为:
bool is_packed() const { return (types_ & (int)(internal::is_unpacked_bit)) == 0; }
第二处:is_packed ? internal::encode_types
改为:
is_packed ? internal::encode_types
(3)修改OfflineReconstruction.cpp中的代码
std::array
改为:
std::array
第三步:下载第三方库,我已经帮大家收集好了(永久有效),其中包含ssl.lib和crypto.lib库。
链接:https://pan.baidu.com/s/1RFYE9cXZWNYyPBeqafHoeg
提取码:81jp
第四步:替换原工程中的ssl.lib和crypto.lib库,这里面有一个MT和MD的问题,我自己重新编译了OpenSSL源码解决的。
第五步:使用CMake生成工程。注意事项:
1、不要勾选PYTHON11相关的内容;
2、不要勾选WEBRTC相关的内容;
第五步:生成Open3d工程,编译即可。
以上,若还是不能解决问题,可在下面留言。