显卡:NVIDIA GeForce RTX 3080Ti
PCL版本:1.10.1
编译方式
在Release pcl-1.10.1 · PointCloudLibrary/pcl下载对应版本源码,解压后:
1 | mkdir build && cd build |
问题记录:
make过程中出现:nvcc fatal : Unsupported gpu architecture ‘compute_30‘ 报错。
原因:显卡不支持compute_30的GPU构架,与CUDA版本不兼容。
解决方法:
- 找到pcl文件夹下cmake/pcl_find_cuda.cmake,将__cuda_arch_bin参数做如下修改:
__cuda_arch_bin的含义是在cmake时,编译器会自动从引号里面的计算架构中选择,排在第一个的30会被优先选择。可以参考第25行代码提供的官方网站进去,去查查自己显卡适配的计算架构
然后将对应的架构号添加到最前面即可,否则会报CUDA error: no kernel image is available for execution on the device
错误。
在编译过程中会出现警告,但不影响编译。
编译出现shared_ptr is not a template
while building pcl 1.10.0
shared_ptr is not a template while building pcl 1.10.0 · Issue #3728 · PointCloudLibrary/pcl
这个问题在pcl 1.10.1版本中修复