Ubuntu中编译pcl时flannn报错

用到了pcl,编译的时候报错

kdtree is required, but flann not found

大概是这个错,记不清了
大概意思是pcl找不到flann
需要手动编译flann再编译pcl

  • 这里下载了flann
  • 按照步骤编译的时候会报错,错误如下:
CMake Eroor at src/cpp/CMakeLists.txt:86 (add_library):
No SOURCES given to target: flann
 
CMake Eroor at src/cpp/CMakeLists.txt:32 (add_library):
No SOURCES given to target: flann_cpp

一开始没有想到是flann的问题,所以查了很多也没有找到答案
直到看到这个网页
https://stackoverflow.com/questions/50763621/building-flann-with-cmake-fails
直到原来是本身的问题,按照里面写的修改方法,先创建一个空的文件,然后加入到库中就行了,具体是:
首先

touch src/cpp/empty.cpp

然后在src/cpp/CMakeLists.txt中将

add_library(flann_cpp SHARED "") and add_library(flann SHARED "")

代替为

add_library(flann_cpp SHARED empty.cpp) and add_library(flann SHARED empty.cpp)

再手动编译就可以了

真的浪费了很长时间,希望可以帮助遇到同样错误的同学

### 编译并安装 Point Cloud Library (PCL) 最新版本 在 Ubuntu 上从源码编译和安装 PCL 是一项常见的操作,以下是详细的说明: #### 1. 更新系统包 为了确保系统的软件包是最新的,在开始之前先更新系统: ```bash sudo apt update && sudo apt upgrade -y ``` #### 2. 安装必要的依赖项 PCL 的构建需要一些基础的开发工具和库支持。可以通过以下命令来安装这些依赖项: ```bash sudo apt install -y build-essential cmake git libeigen3-dev \ libflann1.9 libflann-dev libboost-all-dev libqglviewer-qt5-dev \ libvtk7-dev libsuitesparse-dev libopenni-dev libopenni2-dev \ libpcl-dev python-pcl python3-pcl pcl-tools ``` 上述命令涵盖了大多数 PCL 所需的核心依赖项[^3]。 #### 3. 获取最新版 PCL 源码 访问官方 GitHub 存储库获取最新的 PCL 版本: ```bash git clone https://github.com/PointCloudLibrary/pcl.git cd pcl git checkout master # 或者指定特定分支或标签 ``` #### 4. 创建构建目录并运行 CMake 创建一个单独的 `build` 文件夹用于存储生成文件,并执行 CMake 命令以配置项目的构建环境: ```bash mkdir build cd build cmake .. ``` 如果希望自定义选项(例如禁用某些模块),可以在 `cmake` 后附加参数。例如,关闭 GPU 支持可以这样设置: ```bash cmake -DWITH_GPU=OFF .. ``` #### 5. 构建与安装 完成配置后即可启动实际的编译过程。推荐使用多线程加速编译速度: ```bash make -j$(nproc) sudo make install ``` 此步骤会将编译好的二进制文件复制到标准路径下以便后续调用[^1]。 #### 6. 测试安装是否成功 验证安装是否正常工作的一个简单方法是尝试运行随附的例子程序或者重新链接现有项目至新版本的库中去测试功能表现情况。 --- ### 关于CMake教程补充 对于不熟悉 CMake 工具链的人来说,它是一种跨平台自动化构建解决方案框架。基本流程包括准备根目录下的 `CMakeLists.txt` 描述文档;接着通过命令行交互形式传递变量给脚本来控制不同阶段的行为模式比如调试发布等等差异化的输出产物特性设定等[^2]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值