Я новичок в C и C ++.
У меня есть программа.Он имеет следующие операторы include:
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <librealsense>
#include <librealsense2/rs.hpp>
Как я узнал, компилятор C ++ ищет замедление этих файлов в разных местах.Используя команду
`gcc -print-prog-name=cc1plus` -v
, я обнаружил, что одно из этих мест было / usr / local / include.В этом каталоге находится каталог librealsense, каталог librealsense2 и каталог glfw.Отлично.
Но по какой-то причине, когда я пытаюсь создать файл с помощью cmake, он не может найти каталоги librealsense.Почему это?Кажется, он находится в правильном месте.
Дополнительный вопрос: нужно ли упоминать об этом в файле CMakeLists.txt?
Мой файл CmakeLists.txt выглядит следующим образом:
cmake_minimum_required(VERSION 3.10)
project (YES)
include_directories(${glfw_INCLUDE_DIRS} "${YES_SOURCE_DIR}/deps")
set(GLAD "${YES_SOURCE_DIR}/deps/glad/glad.h"
"${YES_SOURCE_DIR}/deps/glad.c")
add_executable(yes main.cpp ${GLAD})
target_link_libraries(yes glfw)
target_link_libraries(yes librealsense)
target_link_libraries(yes librealsense2)
Однако я получаю сообщение об ошибке для последних двух строк:
/usr/bin/x86_64-linux-gnu-ld: cannot find -llibrealsense
/usr/bin/x86_64-linux-gnu-ld: cannot find -llibrealsense2
Cmake выглядит в разных местах?Чтобы попытаться исправить это, я решил использовать следующее:
find_library(librealsense NAMES librealsense PATHS /usr/local/include)
find_library(librealsense2 NAMES librealsense2 PATHS /usr/local/include)
Но действительно трудно найти руководство для команды find_library.Из чтения документации я знаю, что если библиотеки находятся по этому пути, они сохраняются в первом аргументе.Но как мне связать это с реальной программой, которую я пытаюсь создать?Я попытался:
add_executable(yes main.cpp librealsense librealsense2 ${GLAD})
Но он говорит, что не может найти исходные файлы librealsense.Так что этот метод предназначен только для исходных файлов (?), А не для переменных (?)
Извиняюсь за все вопросы, но если бы любой эксперт мог ответить на все их вопросы, я был бы очень признателен:]