Error de compilación de la biblioteca Libhand

Error de compilación de la biblioteca Libhand

Estoy intentando crear una biblioteca de modelos de manos desde libhand.org en Ubuntu 14.04. La biblioteca utiliza bibliotecas ogre y opencv. Seguí las instrucciones proporcionadas por el autor que me permitieron instalar con éxito ogre y opencv. No hay ningún problema con cmake... pero durante la ejecución del comando

make -j4

Obtuve el siguiente error:

[ 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

¿Alguien sabe por qué ocurre este error y qué se puede hacer?

Respuesta1

Si todavía está interesado en una respuesta, en los meses transcurridos desde que publicó esta pregunta en noviembre de 2015, comencé a ser el mantenedor de la versión más popular de LibHand que se subió a GitHub.

Hemos movido el repositorio ahttps://github.com/libhand/libhand/

Al momento de escribir, LibHand debería compilarse y funcionar bien en Debian moderno (y derivados como Ubuntu) si sigue esas instrucciones.

Dependencias de software satisfactorias en Debian/Ubuntu

Las siguientes instrucciones permiten la compilación de LibHand sin demasiados problemas en todas las versiones de Debian/Ubuntu actualmente soportadas por el Proyecto Debian y Canonical.

Consulte la sección 'Plataforma compatible' de README.md para conocer las versiones exactas del sistema operativo que LibHand admite actualmente.

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

En Ubuntu 12.04 y Debian Wheezy, no hay ningún paquete libogre-1.9-dev disponible, así que sustitúyalo por libogre-dev (que es v1.7.4 en esos sistemas).

En una instalación nueva de Ubuntu 12.04/14.04/16.04, si apt-get no puede ubicar los paquetes OpenCV (libopencv-dev) y OGRE, agregue 'universe' a su fuente.list, ejecute Sudo apt-get update e intente nuevamente.

Compilando libhand y 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

(Fuente)

información relacionada