I am working building with OpenCV and Spinnaker and I wrote CMakeLists.txt below:
# ##############################################################################
# The project name
cmake_minimum_required(VERSION 3.1)
set(ProjectId "SpinCapture")
message(Project Id : ${ProjectId})
project(${ProjectId})
set(CMAKE_CXX_STANDARD 14)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
message(cmake_current_list_dir : ${CMAKE_CURRENT_LIST_DIR} ...)
# Setting the variables
set(PROJ_NAME "capture_test")
set(PROJ_INCLUDES "")
set(PROJ_LIBRARIES "")
message(------project name : ${PROJ_NAME} ---------)
# ##############################################################################
# OpenCV set(OpenCV_DIR $ENV{OpenCV_DIR})
find_package(OpenCV REQUIRED)
# Thread
find_package(Threads REQUIRED)
# Please set "target_link_libraries( ${PROJ_NAME} ${OpenCV_LIBS})"
find_package(Spinnaker REQUIRED)
message("spinnaker lib : " ${Spinnaker_LIBRARIES})
# ##############################################################################
# Spinnaker SDK
if(WIN32)
set(Spinnaker_LIBS debug "Spinnakerd_v140.lib" optimized "Spinnaker_v140.lib")
set(Spinnaker_INCLUDE_DIR
"C:/Program Files/Point Grey Research/Spinnaker/include")
link_directories(
"C:/Program Files/Point Grey Research/Spinnaker/lib64/vs2015")
endif(WIN32)
if(UNIX)
include_directories(
${PROJECT_INCLUDE_DIR}
${catkin_INCLUDE_DIRS} ${Spinnaker_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
link_directories( ${Spinnaker_LIBRARIES} ${OpenCV_LIBS})
set(LIBS ${Spinnaker_LIBRARIES} ${OpenCV_LIBS}})
endif(UNIX)
# ##############################################################################
# Project
add_executable(${PROJ_NAME} main.cpp SpinCap/spincamera.cpp)
target_link_libraries(${PROJ_NAME} PUBLIC "-pthread" ${LIBS})
target_include_directories(${PROJ_NAME}
PUBLIC ${PROJECT_SOURCE_DIR} ${Spinnaker_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS})
but I tried to build this project as below command and log:
build$ cmake ..
ProjectId:SpinCapture
cmake_current_list_dir:/home/hoge/.../c++...
------projectname:capture_test---------
-- Spinnaker found in the system
spinnaker lib : /opt/spinnaker/lib/libSpinnaker.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hoge/.../build
and I tried to build finally with make
…
build$ make
[ 33%] Linking CXX executable capture_test
/usr/bin/ld: -lopencv_xphoto} not found
collect2: error: ld returned 1 exit status
CMakeFiles/capture_test.dir/build.make:185: recipe for target 'capture_test' failed
make[2]: *** [capture_test] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/capture_test.dir/all' failed
make[1]: *** [CMakeFiles/capture_test.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Why am I getting above error?
Please tell me why I received, Thanks.