Я успешно скомпилировал эту библиотеку https://github.com/xdspacelab/openvslam, но сейчас у меня возникают проблемы с ее включением в программы на C ++.
Вот окончательная структура каталогов:
.
├── 3rd
├── build
├── camera_params
├── cmake
├── docs
├── example
├── frames
├── frames_to_localise
├── maps
├── orb_vocab
├── ros
├── src
├── test
├── videos
└── viewer
Теперь это команда, которую я использовал:
cd /path/to/openvslam
mkdir build && cd build
cmake \
-DBUILD_WITH_MARCH_NATIVE=ON \
-DUSE_PANGOLIN_VIEWER=OFF \
-DUSE_SOCKET_PUBLISHER=ON \
-DUSE_STACK_TRACE_LOGGER=ON \
-DBOW_FRAMEWORK=DBoW2 \
-DBUILD_TESTS=ON \
..
make -j4
Согласно документации, https://openvslam.readthedocs.io/en/master/installation.html#subsection -common- linux -macos
Я понимаю что это установить библиотеку локально, а не в масштабе всей системы (как в /usr/local/bin).
Поэтому я пытаюсь скомпилировать ее, если их примеры https://github.com/xdspacelab/openvslam/blob/master/example/run_image_localization.cc
вот так: g++ run_image_localization.cc
Я получаю эту ошибку:
In file included from run_image_localization.cc:2:
./util/image_util.h:19:33: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
virtual ~image_sequence() = default;
^
run_image_localization.cc:10:10: fatal error: 'openvslam/system.h' file not found
#include "openvslam/system.h"
^~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
имеет смысл, потому что openvslam
не было включено. Я пробовал разные флаги, такие как -L, -I et c, но пока ничего не получалось. Есть ли стандартное решение для этого?
PS: временное решение состояло в том, чтобы установить VERBOSE = 1
во время выполнения команды make и copy paste, которая использовалась для компиляции примеров ... Эта команда длиной более 40 строк , для рендеринга команды на моем терминале требуется больше времени, чем для компиляции файла. cc ...
РЕДАКТИРОВАТЬ: я использую Ma c