проблема при создании моей собственной общей библиотеки, которая ссылается на opencv - PullRequest
0 голосов
/ 12 марта 2019

Я создаю разделяемую библиотеку, которая связывает opencv, и устанавливаю разделяемую библиотеку.

Но после установки программа, использующая opencv, однажды запустится нормально, вылетит, и ошибка будет ниже:

/usr/bin/ld: can't find -lopencv_cvv

Если я не использую opencv в моей общей библиотеке, программа работает хорошо.

Ядро CMakelist.txt общей библиотеки ниже:

  set(DEPENDENCIES realsense2 )
  add_library(TdLib SHARED
         threadSafeStructure/threadSafeStructure.cpp
         threadSafeStructure/threadSafeStructure.h
         realsense/realsense.cpp
         realsense/realsense.h
         )

 # OpenCV 
 find_package(OpenCV REQUIRED) 
 include_directories(${OPENCV_INCLUDE_DIRS})
 link_directories(${OpenCV_LIBRARY_DIRS})
 #PCL 
 find_package(PCL 1.8 REQUIRED) 
 include_directories(${PCL_INCLUDE_DIRS})
 link_directories(${PCL_LIBRARY_DIRS})

 set_target_properties(TdLib PROPERTIES
         PUBLIC_HEADER
         "realsense/realsense.h;threadSafeStructure/threadSafeStructure.h")
 target_link_libraries(TdLib
                     ${DEPENDENCIES}
                    ${OpenCV_LIBRARIES}
                     ${PCL_LIBRARIES})
 install(TARGETS TdLib
         # IMPORTANT: Add the foo library to the "export-set"
         EXPORT ${PROJECT_NAME}Targets
         RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
         LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
        PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/TdLibrary"
        COMPONENT dev)

Вы можете найти проект библиотеки здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...