我正在关注官方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.lib
和pcl_filters_debug.lib
。
$(PCL_ROOT)
是安装PCL并已添加到环境中的路径。该平台在调试模式下设置为x64。我在Windows 10 pro机器上使用最新版本的PCL,即VS 2015(64位)上的PCL-1.8.1-AllInOne-msvc2015-win64。
我用谷歌搜索了问题,但仍然无法弄清楚出了什么问题。我是否设置了不正确的东西?非常感谢你的任何帮助!非常感谢你。
我得到的错误如下所示: error
答案 0 :(得分:0)
pcl::PointCloud
在pcl/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})