Почему компилятор C ++ не может найти Librealsense? ` - PullRequest
0 голосов
/ 24 сентября 2018

Я новичок в 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.Так что этот метод предназначен только для исходных файлов (?), А не для переменных (?)

Извиняюсь за все вопросы, но если бы любой эксперт мог ответить на все их вопросы, я был бы очень признателен:]

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