1、问题描述
open3d依赖的qhull为7.3.0,pcl-ros依赖的是qhull7.2.0,两者不兼容。
一个工程里如果用了open3d,又用了pcl-ros,运行时会报错。
由于一定要使用,就想办法把open3d用的qhull固定下来,做一些修改。
2、查看ExternalProject_Add的使用说明
https://cmake.org/cmake/help/latest/module/ExternalProject.html
在open3d中,原来是用
ExternalProject_Add(
ext_qhull
PREFIX qhull
URL https://github.com/qhull/qhull/archive/refs/tags/v7.3.0.tar.gz
URL_HASH SHA256=05a2311d8e6397c96802ee5a9d8db32b83dac7e42e2eb2cd81c5547c18e87de6
DOWNLOAD_DIR "${OPEN3D_THIRD_PARTY_DOWNLOAD_DIR}/qhull"
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""

本文档介绍了如何处理open3d与pcl-ros之间的qhull依赖版本不兼容问题。通过修改open3d的ExternalProject_Add设置,指定本地已有的qhull源代码目录,避免了从网络下载。接着修改了qhull和open3d中的命名空间以解决冲突。最后,将修改后的qhull和open3d分别存入个人git仓库,并在安装时指向这些仓库。确保在编译open3d时添加-DGLIBCXX_USE_CXX11_ABI=ON选项。
最低0.47元/天 解锁文章
643

被折叠的 条评论
为什么被折叠?



