Ошибка компиляции библиотеки Libhand

Ошибка компиляции библиотеки Libhand

Я пытаюсь собрать библиотеку модели руки из libhand.org на Ubuntu 14.04. Библиотека использует библиотеки ogre и opencv. Я следовал инструкциям автора, которые позволили мне успешно установить ogre и opencv. С cmake проблем нет... но во время выполнения команды

make -j4

Я получаю следующую ошибку:

[ 87%] Building CXX object source/CMakeFiles/hand_renderer.dir/hand_pose.cc.o
[ 91%] Building CXX object source/CMakeFiles/hand_renderer.dir/scene_spec.cc.o
Linking CXX static library libhand_renderer.a
[ 91%] Built target hand_renderer
Scanning dependencies of target pose_designer
[ 95%] Building CXX object source/CMakeFiles/pose_designer.dir/pose_designer_main.cc.o
[100%] Building CXX object source/CMakeFiles/pose_designer.dir/pose_designer.cc.o
Linking CXX executable pose_designer
/usr/bin/ld: cannot find -lNOTFOUND
/usr/bin/ld: cannot find -lNOTFOUND
libhand_utils.a(file_dialog.cc.o): In function `libhand::FileDialog::TkExec(std::string const&)':
file_dialog.cc:(.text+0xead): warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
collect2: error: ld returned 1 exit status
make[2]: *** [source/pose_designer] Error 1
make[1]: *** [source/CMakeFiles/pose_designer.dir/all] Error 2
make: *** [all] Error 2

Кто-нибудь знает, почему возникает эта ошибка и что можно сделать?

решение1

Если вы все еще заинтересованы в ответе, за несколько месяцев с момента публикации вами этого вопроса в ноябре 2015 года я начал заниматься поддержкой самой популярной версии LibHand, которая была загружена на GitHub.

Мы переместили репозиторий вhttps://github.com/libhand/libhand/

На момент написания статьи LibHand должен компилироваться и нормально работать на современных Debian (и производных, таких как Ubuntu), если следовать этим инструкциям.

Удовлетворение зависимостей программного обеспечения в Debian/Ubuntu

Следующие инструкции позволяют без особых проблем скомпилировать LibHand на всех версиях Debian/Ubuntu, которые в настоящее время поддерживаются проектом Debian и Canonical.

Точные версии ОС, поддерживаемые LibHand в настоящее время, см. в разделе «Поддерживаемые платформы» файла README.md.

sudo apt-get install build-essential cmake git libogre-1.9-dev libglu1-mesa-dev libxt-dev libopencv-dev tcl tk libboost-system-dev libboost-filesystem-dev

В Ubuntu 12.04 и Debian Wheezy пакет libogre-1.9-dev недоступен, поэтому замените его на libogre-dev (который в этих системах имеет версию 1.7.4).

Если на новой установке Ubuntu 12.04/14.04/16.04 apt-get не может найти пакеты OpenCV (libopencv-dev) и OGRE, добавьте «universe» в файл sources.list, выполните команду sudo apt-get update и повторите попытку.

Компиляция libhand и pose_designer

git clone https://github.com/libhand/libhand
mkdir build
cd build
cmake ..
make
# Collate libhand build artifacts into local "dist" directory (for external applications to link against)
make install
# Ensure path exists first: on 32-bit, x86_64 is replaced with i386. Replace OGRE version with whatever was installed (likely OGRE-1.9.0, OGRE-1.8.0, or OGRE-1.7.4).
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/OGRE-1.9.0
./hand_cpp/source/pose_designer

(Источник)

Связанный контент