Linker 将PCL库与ROS链接

Linker 将PCL库与ROS链接,linker,header-files,point-cloud-library,ros,Linker,Header Files,Point Cloud Library,Ros,我在ubuntu中安装了ROS和PCL。。。 我的代码中的导入是: #include <pcl/io/pcd_io.h> #include <pcl/point_cloud.h> #include <pcl/correspondence.h> #include <pcl/features/normal_3d_omp.h> #include <pcl/features/shot_omp.h> #include <pcl/featur

我在ubuntu中安装了ROS和PCL。。。 我的代码中的导入是:

#include <pcl/io/pcd_io.h>
#include <pcl/point_cloud.h>
#include <pcl/correspondence.h>
#include <pcl/features/normal_3d_omp.h>
#include <pcl/features/shot_omp.h>
#include <pcl/features/board.h>
#include <pcl/keypoints/uniform_sampling.h>
#include <pcl/recognition/cg/hough_3d.h>
#include <pcl/recognition/cg/geometric_consistency.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/kdtree/impl/kdtree_flann.hpp>
#include <pcl/common/transforms.h>
#include <pcl/console/parse.h>
出现以下错误:

In file included from /opt/ros/fuerte/include/pcl-1.5/pcl/io/pcd_io.h:43:0,
             from /home/user/Desktop/PCL/Grouping/correspondence_grouping.cpp:1:
/opt/ros/fuerte/include/pcl-1.5/pcl/point_cloud.h:46:29: fatal error: std_msgs/Header.h: No such file or directory
我是Linux和ROS+PCL的新手(我正在大学项目中使用它们…),我不明白问题出在哪里

其他带有PCL的cpp文件也会出现类似错误

我不知道该怎么做来修复它


谢谢

我认为您最好使用ROS构建系统,根据您使用的ROS版本,该系统可以是rosbuild,也可以是catkin。catkin是一组CMake宏,用于引入ROS依赖项等

见:


您应该使用rosbuild环境创建一个包(请参阅:[创建一个ros包]),然后将其放入您的CMakelist.txt中以使用PCL:

 ...
 find_package(PCL 1.3 REQUIRED)
 include_directories(${PCL_INCLUDE_DIRS})
 link_directories(${PCL_LIBRARY_DIRS})
 add_definitions(${PCL_DEFINITIONS})
 ...
std_msgs的依赖项由manifest.xml(随包自动生成)处理,具有以下标准依赖项:

<package>
...
    <depend package="std_msgs"/>
    <depend package="rospy"/>
    <depend package="roscpp"/>
...
</package>

...
...
<package>
...
    <depend package="std_msgs"/>
    <depend package="rospy"/>
    <depend package="roscpp"/>
...
</package>