Похоже, вы пытаетесь построить raspicam из источника.Глядя на документацию , которую вы связали , выясняется, что raspicam предоставляет пакет поиска CMake и рекомендует пользователям включать библиотеку следующим образом:
project (my_raspi_project)
find_package(raspicam REQUIRED)
add_executable (my_raspi_project main.cpp)
target_link_libraries (my_raspi_project ${raspicam_LIBS})
Я бы посоветовал вам сделать это, но этопотребует установки raspicam в вашей системе.То есть сначала вам нужно будет выполнить шаги установки, перечисленные в приведенной выше документации:
tar xvzf raspicamxx.tgz
cd raspicamxx
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
Это установит пакет в место, где CMake сможет его найти, и разрешит find_package(raspicam REQUIRED)
, используемый в вашем CMakeList.TXT для правильной работы.
Если у вас нет возможности установить библиотеку на свой компьютер для разработки, и вместо этого вы хотите собрать ее из исходного кода вместе с вашим проектом, вы можете рассмотреть следующие вопросы:
ИспользованиеCMake add_subdirectory команда
Использование команды CMake ExternalProject_Add .
Опция №1 позволит вамчтобы обновить файл CMakeList.txt, чтобы он выглядел следующим образом:
cmake_minimum_required(VERSION 3.10)
project(raspicam)
set(CMAKE_CXX_STANDARD 17)
add_subdirectory(<path to raspicam CMakeList.txt>)
add_executable(my_raspicam_program main.cpp)
target_link_libraries(my_raspicam_program raspicam)
Обратите внимание, что вам нужно будет изменить целевое имя raspicam
на что-то уникальное, так как это целевое имя используется пакетом, которым вы являетесьв том числе с add_subdirectory.
Вариант №2 более сложен, но дает дополнительное преимущество, заключающееся в том, что вы не будете отслеживать исходный код raspicam в вашей системе контроля версий.