Estoy tratando de construircuneiformedesde la fuente con soporte para imageMagick, pero parece que al paquete Debian le falta un archivo de encabezado. Cuando lo estoy ejecutando, make
falla al final del proceso:
[100%] Building CXX object cuneiform_src/cli/CMakeFiles/cuneiform-cli.dir/cuneiform-cli.cpp.o
In file included from /usr/include/ImageMagick-6/Magick++/Include.h:13:0,
from /usr/include/ImageMagick-6/Magick++.h:9,
from /tmp/cuneiform-linux-1.1.0/cuneiform_src/cli/cuneiform-cli.cpp:156:
/usr/include/ImageMagick-6/magick/magick-config.h:21:38: fatal error: magick/magick-baseconfig.h: No such file or directory
#include "magick/magick-baseconfig.h"
^
compilation terminated.
Al buscar el encabezado, resulta que se puede encontrar en un directorio ImageMagick diferente:
$ find /usr/include/ -name "*baseconfig*"
/usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h7
La tonta vinculación suave del archivo que falta no resolvió el problema.
¿Cómo puedo hacer que el compilador utilice el otro directorio de inclusión?
Respuesta1
Cuneiforme CMakeLists.txt
no incluye la ruta de inclusión específica del arco de las bibliotecas. Para solucionar este problema para ImageMagick, cambie la línea 40 de cuneiform_src/CMakeLists.txt
desde
include_directories(${ImageMagick_Magick++_INCLUDE_DIR})
a
include_directories(${ImageMagick_Magick++_INCLUDE_DIR} ${ImageMagick_Magick++_ARCH_INCLUDE_DIR})
La integración de CMake pkg-config
recupera la información correctamente.
Respuesta2
Árbitro.http://bazaar.launchpad.net/~jpakkane/cuneiform-linux/trunk/files
Los archivos en cuneiform_src/ tienen una marca de tiempo = 2010 o anterior. No es de extrañar que no se encuentre la nueva y elegante ruta de Debian. ( magick/magick-baseconfig.h no encontrado ).
Una solución fácil: #mkdir /usr/local/include/magick
# cp /usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h /usr/local/include/magick/
... Y cuneiform
se crea el ejecutable.