CMake Ошибка при создании оболочки RealSense Python: невозможно указать источники для цели "PRIVATE" - PullRequest
0 голосов
/ 20 марта 2019

Фон

Я хотел бы сделать программу, использующую глубинную камеру 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.

Проблемы, которые я решил

Как кто-тоВозможно, я пытаюсь сделать то же самое, что и я, я упомяну шаги, которые я предпринял до сих пор:

  1. Первая проблема, которую я получил, заключалась в том, что мне нужно было добавить следующую строку вверхуосновной файл CMakeLists.txt:

    cmake_minimum_required(VERSION 3.14)
    
  2. Затем я узнал, что мне нужно установить Visual Studio

  3. Затем я обнаружил, что толькоVisual Studio было недостаточно, и для этого мне нужно было добавить Desktop для разработки с C ++ «Workload»

...