You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下PCL编译成功但无法生成people_pcd_prob.cpp二进制文件求助

解决PCL编译后未生成people_pcd_prob二进制文件的问题

你已经把PCL的基础配置都捋顺了——依赖装完、Makefile生成正常、CUDA相关参数也都开了,但就是缺了目标二进制文件,我来帮你一步步排查问题:

1. 先确认BUILD_examples开关是否开启

people_pcd_prob属于PCL的people模块示例程序,默认情况下PCL的示例编译开关BUILD_examples大概率是关闭的。你需要在cmake配置时额外加上这个参数:

-DBUILD_examples=ON

重新运行cmake和make,这是最常见的原因——很多人只记得开模块编译,却忘了开示例编译的开关。

2. 检查示例目录的CMake配置

进入PCL源码的people/examples目录,先确认people_pcd_prob.cpp确实存在,然后查看该目录下的CMakeLists.txt,看有没有把这个文件加入编译目标。正常情况下应该有类似这样的代码:

add_executable(people_pcd_prob people_pcd_prob.cpp)
target_link_libraries(people_pcd_prob pcl_people pcl_common pcl_io pcl_visualization)

如果没有这段配置,你可以手动添加上,然后重新执行cmake和make。

3. 查看编译日志的细节

重新编译时,留意终端输出,搜索people_pcd_prob相关的日志:

  • 如果看到Skipping target: people_pcd_prob,说明有条件编译的限制没满足
  • 如果能看到编译该文件的日志但没生成二进制,可能是链接阶段有隐性问题(比如依赖库没匹配上但没触发显性报错)
    你也可以尝试单独编译这个示例,获取更详细的信息:
cd <你的PCL编译目录>/people/examples
make people_pcd_prob

4. 确认CUDA相关依赖的兼容性

虽然你开了BUILD_CUDA和BUILD_GPU,但要确保你的CUDA版本和PCL版本兼容——有些PCL版本对CUDA的最低版本有要求。另外,检查CUDA_ARCH_BIN是否设置正确(比如根据你的显卡算力设置,比如-DCUDA_ARCH_BIN=75对应RTX 20系显卡),算力不匹配可能会导致GPU相关示例被跳过编译。

5. 搜索编译后的输出路径

就算编译成功,二进制文件也可能不在你预期的位置。默认情况下,PCL的示例会生成在<编译目录>/bin或者<编译目录>/people/examples下,你可以用find命令快速定位:

find <你的PCL编译目录> -name "people_pcd_prob"

按照上面的步骤排查,应该能找到问题所在并生成你需要的二进制文件。

内容的提问来源于stack exchange,提问作者Gokul D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:44:01