Фон
Я хотел бы сделать программу, использующую глубинную камеру RealSense в Python 3.6.Однако обертки доступны только для Python 2, но в соответствии с их страницей github могут создаваться самими пользователями:
Пользователи Windows могут установить RealSense SDK 2.0 изОтпустите вкладку, чтобы получить предварительно скомпилированные двоичные файлы оболочки для архитектур x86 и x64.(Обратите внимание, что эти двоичные файлы созданы с использованием Python 2.7 и не могут быть импортированы с использованием Python 3).
, а также в одном из выпусков :
К сожалению, нет, единственный способ на данный момент - создать его из исходного кода.Мы планируем предоставить пакет PyPI, который позволит вам просто установить pyrealsense2 с помощью pip, и он будет иметь поддержку как python 2, так и 3, но он все еще в работе ...
Поэтому ярешил попробовать и собрать сам, прежде чем вернуться к Python 2.x.Я следовал объяснениям в документации github , которая слишком проста для тех, кто никогда ничего не создавал.Я немного озадачился, но натолкнулся на стену, где документация CMake, stackoverflow и общий поиск в Google не помогли мне.Это может быть из-за моего отсутствия понимания, но я решил обратиться и посмотреть, что я могу узнать.
Моя проблема
В настоящее время я застрял с ошибкой:
CMake Error at core/CMakeLists.txt:3 (target_sources):
Cannot specify sources for target "PRIVATE" which is not built by this
project.
Call Stack (most recent call first):
CMakeLists.txt:5 (include)
Я попытался понять CMakeLists.txt, который выглядит следующим образом:
target_sources(${LRS_TARGET}
PRIVATE
"${CMAKE_CURRENT_LIST_DIR}/streaming.h"
...
)
После просмотра документации я решил изменить PRIVATE
на PUBLIC
, но это приводит к той же ошибке (но с открытым, а не с частным).
Буквальный поиск в Интернете (между кавычками) для этой ошибки ничего не возвращает, и другие испытания мне больше не помогли.
Я сейчаспри условии, что проблема связана с переменной ${LRS_TARGET}
, но я не знаю, где искать.Кажется, я не могу понять, где это должно быть определено, и установка его в качестве «Entry» в графическом интерфейсе CMake заставляет ошибку сказать «значение» вместо «PRIVATE».
Может кто-нибудь помочь мне?Заранее спасибо!
Мои настройки
Я использую cmake-gui и задаю следующее:
- "Где находится исходный код:" = D: / librealsense-master / src
- "Где собрать двоичные файлы:" = D: / librealsense-master / bin
- BUILD_PYTHON_BINDINGS = True
- -DPYTHON_EXECUTABLE = D:/Anaconda3/python.exe
В остальном я ничего не сделал, и только некоторые записи появляются из-за моего CMake.
Проблемы, которые я решил
Как кто-тоВозможно, я пытаюсь сделать то же самое, что и я, я упомяну шаги, которые я предпринял до сих пор:
Первая проблема, которую я получил, заключалась в том, что мне нужно было добавить следующую строку вверхуосновной файл CMakeLists.txt:
cmake_minimum_required(VERSION 3.14)
Затем я узнал, что мне нужно установить Visual Studio
Затем я обнаружил, что толькоVisual Studio было недостаточно, и для этого мне нужно было добавить Desktop для разработки с C ++ «Workload»