namespace pcl在Point Cloud Library中没有名为PointCloud的成员

时间:2018-03-15 17:32:02

标签: c++ visual-studio point-cloud-library

我正在关注官方tutorial,以便开始使用 Point Cloud Library 。但不幸的是,我可以让它工作,因为我从一开始就遇到了问题,它说命名空间“pcl”没有名为PointCloud的成员(在教程的第8行:pcl::PointCloud<.....>)。我使用的头文件是:

#include <iostream>
#include <pcl-1.8/pcl/point_types.h>
#include <pcl-1.8/pcl/filters/passthrough.h>
#include <pcl-1.8/pcl/point_cloud.h>

我还在$(PCL_ROOT)\include添加了$(PCL_ROOT)\3rdParty和其他Project Properties\Configuration Properties\VC++ Directories\Include Directories\“包含”,

除此之外,

$(PCL_ROOT)\lib$(PCL_ROOT)\3rdParty“lib”也被添加到Project Properties\Configuration Properties\VC++ Directories\Library Directories

此外,我向Project Properties\Configuration Properties\Linker\Input\Additional Dependencies添加了相关的库,即pcl_common_debug.libpcl_filters_debug.lib

$(PCL_ROOT)是安装PCL并已添加到环境中的路径。该平台在调试模式下设置为x64。我在Windows 10 pro机器上使用最新版本的PCL,即VS 2015(64位)上的PCL-1.8.1-AllInOne-msvc2015-win64。

我用谷歌搜索了问题,但仍然无法弄清楚出了什么问题。我是否设置了不正确的东西?非常感谢你的任何帮助!非常感谢你。

我得到的错误如下所示: error

2 个答案:

答案 0 :(得分:0)

pcl::PointCloudpcl/point_cloud.h标头中定义。假设$(PCL_ROOT)是实际的安装文件夹,则错误地将pcl-1.8添加到include语句中。它通常被简单地调用为

#include <iostream>
#include <pcl/point_types.h>
#include <pcl/filters/passthrough.h>
#include <pcl/point_cloud.h>

答案 1 :(得分:0)

尝试将这些行添加到cmakelist中,我已经解决了这个问题。

find_package(PCL REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})