Robot/ROS

[CMake] add_custom_target cannot create target package

interactics 2023. 3. 10. 14:53

에러코드

--- stderr: app                         
CMake Error at /opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:213 (add_custom_target):
  add_custom_target cannot create target "app" because another
  target with the same name already exists.  The existing target is an
  executable created in source directory
  "/home/id/ros2_ws/src/app".  See documentation for policy
  CMP0002 for more details.
Call Stack (most recent call first):
  CMakeLists.txt:39 (rosidl_generate_interfaces)

 

문제 상태

- node를 생성하는 패키지에 커스텀 srv를 생성하는 부분도 넣었다.

- 빌드를 시도하였을 때, 이미 동일한 이름의 타겟이 존재해서 빌드가 실패.

 

변경

rosidl_generate_interfaces(${PROJECT_NAME}
  "srv/app.srv"
  DEPENDENCIES geometry_msgs lifecycle_msgs
)

에서

rosidl_generate_interfaces(${PROJECT_NAME}_srv
  "srv/app.srv"
  DEPENDENCIES geometry_msgs lifecycle_msgs
)

으로 명시적으로 패키지 이름에 _srv를 추가하였다.