Skip to content

find_package rclcpp adds non-existent include dir #1688

@rlkandela

Description

@rlkandela

Bug report

Required Info:

  • Operating System:
    • Windows 10 (21H1)
  • Installation type:
    • Binary installation
  • Version or commit hash:
    • ros2-galactic-20210523-windows-debug-amd64.zip (this is the binary zip I used)
  • DDS implementation:
    • Cyclone DDS
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

#include <rclcpp/rclcpp.hpp>

class MyNode: public rclcpp::Node {
  public: 
    typedef std::shared_ptr<MyNode> SharedPtr;
    MyNode():Node("hi"){RCLCPP_INFO(this->get_logger(),"Hello!!");}
};

int main(int argc, char **argv){
  rclcpp::init(argc, argv);

  MyNode::SharedPtr node = std::make_shared<MyNode>();

  rclcpp::spin(node);

  rclcpp::shutdown();

  return 0;
}
cmake_minimum_required(VERSION 3.8)
project(pruebacpp)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  add_compile_options(-Wall -Wextra -Wpedantic)
endif()

# find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)


if(BUILD_TESTING)
  find_package(ament_lint_auto REQUIRED)
  # the following line skips the linter which checks for copyrights
  # uncomment the line when a copyright and license is not present in all source files
  #set(ament_cmake_copyright_FOUND TRUE)
  # the following line skips cpplint (only works in a git repo)
  # uncomment the line when this package is not in a git repo
  #set(ament_cmake_cpplint_FOUND TRUE)
  ament_lint_auto_find_test_dependencies()
endif()

add_executable(pruebanodo ${CMAKE_SOURCE_DIR}/src/nodo.cpp)
ament_target_dependencies(pruebanodo rclcpp)

install(TARGETS pruebanodo DESTINATION lib/${PROJECT_NAME})

ament_package()

Expected behavior

Build when running colcon build on a workspace which only has that package

Actual behavior

Throws the same error a bunch of times

CMake Error in CMakeLists.txt:
  Imported target "rclcpp::rclcpp" includes non-existent path

    "C:/ci/ws/install/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions