VS2017编译CUDA版本的PCL 1.9.1

1 篇文章 0 订阅
1 篇文章 0 订阅

pcl提供的Allinone安装工具是不含CUDA的,需要的话就要自己编译源码。
我记录一下自己编译时遇到的问题,希望可以帮到大家。
环境
首先说一下我的环境,这一套搭配是没有问题的。
GeForce 940M
CUDA10.1
VS2017
PCL1.9.1

遇到的问题

1. 在cmake的界面要将Advanced勾选上,要不然找不到Boost的相关属性。
在这里插入图片描述
然后把带有CUDA和gpu的项都勾选上。

2. CUDA ARCH BIN
这一项在点击configure后是会有很多值的,这里不处理的话后续会报错。我们只保留和自己机器的显卡的计算能力相匹配的值。计算能力可以在这里查询。
在这里插入图片描述
3. namespace “thrust” has no member “device_malloc
点击ALL_BUILD生成后,最后会有"thrust” has no member "device_malloc这么一个问题。
device_malloc位于device_malloc.h中。
根据提示找到目标文件的位置: …\pcl-1.9.1\cuda\common\include\pcl\cuda\point_cloud.h。给这个.h文件加个头文件:#include <thrust/device_malloc.h>

之后就没有错误了。

相同的配置下也有可能报其他的问题,欢迎大家一起交流学习。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在VS2017中配置PCL 1.9.1,您可以按照以下步骤进行操作: 1. 下载和安装PCL:首先,您需要下载并安装PCL 1.9.1预编译二进制文件。您可以从PCL官方网站(https://pointclouds.org/downloads/)下载适合您系统的版本。 2. 创建新的空白项目:在VS2017中,创建一个新的空白项目,以便您可以将PCL集成到其中。 3. 配置包含目录:打开您的项目属性(右键单击项目 -> 属性),然后导航到“VC++目录”选项卡。在“包含目录”字段中,添加PCL的头文件所在的目录。这通常是您下载和解压缩PCL二进制文件的文件夹中的“include”文件夹。 4. 配置库目录:继续在“VC++目录”选项卡中,切换到“库目录”字段。添加PCL库文件所在的目录。这通常是您下载和解压缩PCL二进制文件的文件夹中的“lib”文件夹。 5. 配置附加依赖项:导航到“链接器 -> 输入”选项卡。在“附加依赖项”字段中,添加以下库文件: - pcl_common_release.lib - pcl_io_release.lib - pcl_kdtree_release.lib - pcl_features_release.lib - pcl_filters_release.lib - pcl_segmentation_release.lib - pcl_surface_release.lib - pcl_visualization_release.lib 6. 配置预处理器定义:导航到“C/C++ -> 预处理器”选项卡。添加以下预处理器定义: - PCL_NO_PRECOMPILE 7. 确保目标平台与PCL二进制文件匹配:在VS2017中,确保您的目标平台与您下载的PCL二进制文件匹配。如果您下载的是64位版本PCL,则需要设置VS2017为64位构建。 完成上述步骤后,您应该能够在VS2017中成功配置和使用PCL 1.9.1。请注意,这些步骤是基于在Windows上使用VS2017进行配置的。如果您在其他操作系统或使用其他版本VS,请参考PCL文档以获取更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值