I am using ros2 foxy distribution on jetpuck 5.0.1 Ubuntu 20.04.
CMake Error at CMakeLists.txt:33 (add_executable):
Target "Calibrations" links to target "CUDA::cusparse" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Please help me to fix this issue, below I will provide my CMakeLists.txt
file:
cmake_minimum_required(VERSION 3.5)
project(camera_models)
set(CMAKE_CXX_STANDARD 14)
add_compile_options(-Wextra -Wpedantic)
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)
find_package(CUDA REQUIRED COMPONENTS cublas cudart cusolver cusparse)
find_package(Boost REQUIRED COMPONENTS filesystem program_options system)
include_directories(${Boost_INCLUDE_DIRS})
find_package(OpenCV REQUIRED)
find_package(Ceres REQUIRED)
include_directories(${CERES_INCLUDE_DIRS})
ament_export_include_directories(include)
ament_export_libraries(camera_models)
ament_export_dependencies(std_msgs)
# include_directories(
# ${catkin_INCLUDE_DIRS}
# )
include_directories("include")
add_executable(Calibrations
src/intrinsic_calib.cc
src/chessboard/Chessboard.cc
src/calib/CameraCalibration.cc
src/camera_models/Camera.cc
src/camera_models/CameraFactory.cc
src/camera_models/CostFunctionFactory.cc
src/camera_models/PinholeCamera.cc
src/camera_models/PinholeFullCamera.cc
src/camera_models/CataCamera.cc
src/camera_models/EquidistantCamera.cc
src/camera_models/ScaramuzzaCamera.cc
src/sparse_graph/Transform.cc
src/gpl/gpl.cc
src/gpl/EigenQuaternionParameterization.cc)
# added from DEBUG
ament_target_dependencies(Calibrations rclcpp std_msgs OpenCV)
add_library(camera_models
src/chessboard/Chessboard.cc
src/calib/CameraCalibration.cc
src/camera_models/Camera.cc
src/camera_models/CameraFactory.cc
src/camera_models/CostFunctionFactory.cc
src/camera_models/PinholeCamera.cc
src/camera_models/PinholeFullCamera.cc
src/camera_models/CataCamera.cc
src/camera_models/EquidistantCamera.cc
src/camera_models/ScaramuzzaCamera.cc
src/sparse_graph/Transform.cc
src/gpl/gpl.cc
src/gpl/EigenQuaternionParameterization.cc)
target_link_libraries(Calibrations ${Boost_LIBRARIES} ${OpenCV_LIBS} ${CERES_LIBRARIES})
target_link_libraries(camera_models ${Boost_LIBRARIES} ${OpenCV_LIBS} ${CERES_LIBRARIES})
#target_link_libraries(Calibrations ${CUDA_LIBSRARIES})
#target_link_libraries(camera_models ${CUDA_LIBSRARIES})
# Install
install(TARGETS
Calibrations
DESTINATION lib/${PROJECT_NAME}
)
install(TARGETS Calibrations camera_models
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
install(TARGETS Calibrations
RUNTIME DESTINATION lib/${PROJECT_NAME}
)
install(DIRECTORY include/
DESTINATION include/
)
ament_package()
I have tried these two lines
#target_link_libraries(Calibrations ${CUDA_LIBSRARIES})
#target_link_libraries(camera_models ${CUDA_LIBSRARIES})
but didn't have any success, so I hope that someone can help me).