Erro de construção - como corrigir arquivo de cabeçalho ausente

Erro de construção - como corrigir arquivo de cabeçalho ausente

Estou tentando construircuneiformeda fonte com suporte imageMagick, mas parece que falta um arquivo de cabeçalho no pacote debian. Quando estou executando, makeele falha no final do processo:

[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.

Ao procurar pelo cabeçalho, ele pode ser encontrado em um diretório diferente do ImageMagick:

$ find /usr/include/ -name "*baseconfig*"
/usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h7

O link suave idiota do arquivo ausente não resolveu o problema.

Como posso fazer com que o compilador use o outro diretório de inclusão?

Responder1

O Cuneiform CMakeLists.txtnão inclui o caminho de inclusão específico do arco das bibliotecas. Para corrigir isso no ImageMagick, altere a linha 40 cuneiform_src/CMakeLists.txtde

include_directories(${ImageMagick_Magick++_INCLUDE_DIR})

para

include_directories(${ImageMagick_Magick++_INCLUDE_DIR} ${ImageMagick_Magick++_ARCH_INCLUDE_DIR})

A integração do CMake pkg-configrecupera as informações corretamente.

Responder2

Ref.http://bazaar.launchpad.net/~jpakkane/cuneiform-linux/trunk/files

Os arquivos em cuneiform_src/ possuem carimbo de data/hora = 2010 ou anterior. Não admira que o novo caminho sofisticado do Debian não tenha sido encontrado. (magick/magick-baseconfig.h não encontrado).

Uma solução fácil: #mkdir /usr/local/include/magick

# cp /usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h /usr/local/include/magick/

... E o executável cuneiformé criado.

informação relacionada