ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste the a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp.

  2. Your CMakeLists.txt contains a series of errors

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
    # )
    # install(DIRECTORY include/${PROJECT_NAME}/
    #   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
    #   FILES_MATCHING PATTERN "*.h"
    #   PATTERN ".svn" EXCLUDE
    # )

2 A. You wrothe that your project contain olny two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed line in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste the a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp.

  2. Your CMakeLists.txt contains a series of errors

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
    # )
    # )
# install(DIRECTORY include/${PROJECT_NAME}/
 #   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
 #   FILES_MATCHING PATTERN "*.h"
 #   PATTERN ".svn" EXCLUDE
 # )

2 A. You wrothe that your project contain olny two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed line in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste the a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp.

  2. Your CMakeLists.txt contains a series of errors

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )

2 A. You wrothe that your project contain olny two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed line in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp.

  2. Your CMakeLists.txt contains a series of errors

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )

2 A. You wrothe that your project contain olny two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed line in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp. resulting in fatal error: example_ros_class.h: No such file or directory

  2. Your CMakeLists.txt contains a series of errors

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )

2 A. You wrothe that your project contain olny two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed line in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp resulting in fatal error: example_ros_class.h: No such file or directory

  2. Your CMakeLists.txt contains a series lot of errorsmistakes

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )

2 A. You wrothe that your project contain olny two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed line in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp resulting in fatal error: example_ros_class.h: No such file or directory

  2. Your CMakeLists.txt contains a lot of mistakes

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )

2 A. You wrothe wrote that your project contain olny only two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed line in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp resulting in fatal error: example_ros_class.h: No such file or directory

  2. Your CMakeLists.txt contains a lot of mistakes

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )

2 A. You wrote that your project contain only two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed line in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again

My answer is just guessing, so i point out certain potential concerns related to your implementation, in numbered points.

  1. You should paste a bigger piece of error message.

    If you have only two files in your package, most likely you have #include "example_ros_class.h" in the example_ros_class.cpp resulting in fatal error: example_ros_class.h: No such file or directory

  2. Your CMakeLists.txt contains a lot of mistakes

A fixed file would look like this

cmake_minimum_required(VERSION 2.8.3)

project(eg_ros_class)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  std_msgs
)

catkin_package(
  # (A) INCLUDE_DIRS include
  LIBRARIES eg_ros_class
  CATKIN_DEPENDS roscpp std_msgs
  # (B) DEPENDS system_lib
)

##BUILD##
include_directories(
  include
  # (C) src/eg_ros_class
  ${catkin_INCLUDE_DIRS}
  # (D) ${Boost_INCLUDE_DIRS}
  # (E) ${GSTREAMER_INCLUDE_DIRS}
)

add_library(eg_ros_class src/example_ros_class.cpp)

add_executable(eg_ros_class_exe src/example_ros_class.cpp)
# (F) target_link_libraries(eg_ros_class ${catkin_LIBRARIES}, )
target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

add_executable(implementation_exe src/implementation.cpp)
target_link_libraries(implementation_exe ${catkin_LIBRARIES})
add_dependencies(implementation_exe eg_ros_class_generate_messages_cpp)

##Install##
# (G)
#catkin_package(INCLUDE_DIRS include
#               LIBRARIES eg_ros_class)
# install(TARGETS eg_ros_class
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )E_BIN_DESTINATION}
# )
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )

2 A. You wrote that your project contain contains only two files, so include directory is empty. In this case this line is not needed.

2 B. What is a system_lib? It's probably the name used as an example in the template CMakeLists.txt.

2 C. In this line you should include only headers

2 D and 2E. It depends on if you using Boost or GStreamer library. Are you using?

2 F. Freaky comma before parenthesis. Fixed in the next line: target_link_libraries(eg_ros_class ${catkin_LIBRARIES})

2 G. You don't need use catkin_package again