Компиляция библиотеки C++, использующей библиотеки OpenCV, без распространения OpenCV ⇐ C++
-
Anonymous
Компиляция библиотеки C++, использующей библиотеки OpenCV, без распространения OpenCV
Я должен предварить это словами, что я новичок в процессе компиляции C++ и CMake, поэтому буду рад любой информации.
Я пытаюсь скомпилировать написанную мной программу как общую библиотеку (.dll для Windows), использующую библиотеки OpenCV. Таким образом, я скомпилировал OpenCV как коллекцию статических библиотек (.lib), добавил путь к папке сборки в качестве переменной среды (и обновил путь) и добавил его в дополнительные каталоги включения в Visual Studio.
Однако я понимаю, что, поскольку я компилирую в динамическую библиотеку, файлы OpenCV .lib должны поставляться вместе с ней.
Есть ли способ упаковать библиотеки OpenCV С моей библиотекой, не упаковывая весь исходный код OpenCV?
Мой текущий файл CMakeLists.txt выглядит следующим образом, если он вообще помогает:
cmake_minimum_required (ВЕРСИЯ 3.9) установить (CMAKE_CXX_STANDARD 17) ПРОЕКТ (MySharedLibrary ОПИСАНИЕ «Моя общая библиотека») find_package (ТРЕБУЕТСЯ OpenCV) link_directories(${OpenCV_LIBS}) include_directories( ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/источник ${OpenCV_INCLUDE_DIRS} ) файл(GLOB all_FILES "${PROJECT_SOURCE_DIR}/include/*.hpp" "${PROJECT_SOURCE_DIR}/src/program.cpp" ) ###### ПОДБОРКА БИБЛИОТЕКИ ###### add_library(MySharedLibrary ОБЩИЙ ${all_FILES}) target_link_libraries(MySharedLibrary ${OpenCV_LIBS} "-static")
Я должен предварить это словами, что я новичок в процессе компиляции C++ и CMake, поэтому буду рад любой информации.
Я пытаюсь скомпилировать написанную мной программу как общую библиотеку (.dll для Windows), использующую библиотеки OpenCV. Таким образом, я скомпилировал OpenCV как коллекцию статических библиотек (.lib), добавил путь к папке сборки в качестве переменной среды (и обновил путь) и добавил его в дополнительные каталоги включения в Visual Studio.
Однако я понимаю, что, поскольку я компилирую в динамическую библиотеку, файлы OpenCV .lib должны поставляться вместе с ней.
Есть ли способ упаковать библиотеки OpenCV С моей библиотекой, не упаковывая весь исходный код OpenCV?
Мой текущий файл CMakeLists.txt выглядит следующим образом, если он вообще помогает:
cmake_minimum_required (ВЕРСИЯ 3.9) установить (CMAKE_CXX_STANDARD 17) ПРОЕКТ (MySharedLibrary ОПИСАНИЕ «Моя общая библиотека») find_package (ТРЕБУЕТСЯ OpenCV) link_directories(${OpenCV_LIBS}) include_directories( ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/источник ${OpenCV_INCLUDE_DIRS} ) файл(GLOB all_FILES "${PROJECT_SOURCE_DIR}/include/*.hpp" "${PROJECT_SOURCE_DIR}/src/program.cpp" ) ###### ПОДБОРКА БИБЛИОТЕКИ ###### add_library(MySharedLibrary ОБЩИЙ ${all_FILES}) target_link_libraries(MySharedLibrary ${OpenCV_LIBS} "-static")
Мобильная версия