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 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} )

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} )