Использование плагина Gazebo с типом файла .h

Когда я попытался скомпилировать плагин Gazebo, который представляет собой файл заголовка (с расширением .h), он говорит:

CMake Error: CMake can not determine linker language for target: gazebo_ros_moveit_planning_scene
CMake Error: Cannot determine link language for target "gazebo_ros_moveit_planning_scene".

Ниже приведен мой файл CMakeLists.txt:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
find_package(gazebo REQUIRED)
include_directories(${GAZEBO_INCLUDE_DIRS})
link_directories(${GAZEBO_LIBRARY_DIRS})
list(APPEND CMAKE_CXX_FLAGS "${GAZEBO_CXX_FLAGS}")

add_library(gazebo_ros_moveit_planning_scene SHARED gazebo_ros_moveit_planning_scene.h)
target_link_libraries(gazebo_ros_moveit_planning_scene ${GAZEBO_LIBRARIES})

Любые предложения по исправлению?


person stan25    schedule 14.03.2018    source источник
comment
Это не проблема Gazebo, а тот факт (насколько я знаю), что вы не можете создать библиотеку только из файла заголовка. Если бы это было возможно, многие библиотеки только для заголовков (здесь библиотека используется как набор файлов заголовков, а не фактические статические или динамические файлы библиотек) превратились бы в настоящие библиотеки, поскольку материалы только для заголовков имеют больше недостатков, чем преимуществ. Вы можете включить заголовок в другой мудрый пустой исходный файл, который позволит вам создать so, однако это не имеет особого смысла.   -  person rbaleksandar    schedule 15.03.2018
comment
Возможный дубликат CMake не может определить язык компоновщика для цели   -  person Tsyvarev    schedule 15.03.2018