Skip to content

ROS 2 package include path issues #1958

@oKermorgant

Description

@oKermorgant

Hi,

The ROS package for ViSP installs the headers in include/visp and include/visp3 but this folder is not found when trying to #include some ViSP headers from another project.

See ros2/ros2#1150 , the header install folder should be include/visp/visp and include/visp/visp3.
The in-between visp is the name of the package, while the final folders visp and visp3 can be arbitrary to a given package. This was done to prevent conflicts between similar include folders from different packages.

In a nutshell, in order to use the ROS-packaged version of ViSP, the header files should be installed with an additional folder level, as in https://github.com/cra-ros-pkg/robot_localization/blob/a63145ac904cc93ee553d0cfb8746406d1b4264d/CMakeLists.txt#L347

I do not know how it is possible to detect in CMake that the package is being compiled for ROS, as this additional folder level is a bit strange outside of ROS.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions