ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
My CMakeLists.txt as requested:
cmake_minimum_required(VERSION 2.8.3) project(special_camera_driver)
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
find_package(catkin REQUIRED COMPONENTS roscpp pluginlib nodelet sensor_msgs image_transport )
find_package(Boost REQUIRED COMPONENTS thread) find_library(POINTGREY_LIB flycapture)
catkin_package( INCLUDE_DIRS include LIBRARIES special_camera_driver CATKIN_DEPENDS roscpp pluginlib nodelet sensor_msgs image_transport DEPENDS boost )
include_directories( include ${Boost_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS} )
add_library(special_camera_driver src/${PROJECT_NAME}/special_camera_driver.cpp ) target_link_libraries(special_camera_driver ${POINTGREY_LIB} )
add_executable(special_camera_driver_node src/special_camera_driver_node.cpp src/node.cpp ) add_dependencies(special_camera_driver_node special_camera_driver) target_link_libraries(special_camera_driver_node special_camera_driver opencv_core opencv_highgui ${catkin_LIBRARIES} )
install(TARGETS special_camera_driver_node special_camera_driver 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 )
install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} )
install(DIRECTORY plugins DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} )
2 | No.2 Revision |
My CMakeLists.txt as requested:Apparently a bunch of my OpenCV shared libraries were missing for some reason. Now reinstalled via 'apt-get install --reinstall ...' and compiling fine.
cmake_minimum_required(VERSION 2.8.3)
project(special_camera_driver)With the .so files missing the linker was trying to use the .a static libraries instead. My build knowledge is not that deep so I don't currently understand why that wouldn't work (in case anyone want to enlighten me).
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
find_package(catkin REQUIRED COMPONENTS roscpp pluginlib nodelet sensor_msgs image_transport )
find_package(Boost REQUIRED COMPONENTS thread) find_library(POINTGREY_LIB flycapture)
catkin_package( INCLUDE_DIRS include LIBRARIES special_camera_driver CATKIN_DEPENDS roscpp pluginlib nodelet sensor_msgs image_transport DEPENDS boost )
include_directories( include ${Boost_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS} )
add_library(special_camera_driver src/${PROJECT_NAME}/special_camera_driver.cpp ) target_link_libraries(special_camera_driver ${POINTGREY_LIB} )
add_executable(special_camera_driver_node src/special_camera_driver_node.cpp src/node.cpp ) add_dependencies(special_camera_driver_node special_camera_driver) target_link_libraries(special_camera_driver_node special_camera_driver opencv_core opencv_highgui ${catkin_LIBRARIES} )
install(TARGETS special_camera_driver_node special_camera_driver 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 )
install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} )
install(DIRECTORY plugins DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} )