Как включить локально скомпилированную библиотеку C ++ при компиляции? - PullRequest
0 голосов
/ 31 января 2020

Я успешно скомпилировал эту библиотеку 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

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