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

3

Estou tentando criar cuneiforme a partir do código-fonte com o suporte do imageMagick, mas parece que o pacote debian faltando um arquivo de cabeçalho. Quando estou executando make , ele 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

A ligação fraca do arquivo ausente não resolveu o problema.

Como posso fazer o compilador usar o outro diretório include?

    
por Gergely Lukacsy 13.04.2017 / 16:46

2 respostas

3

O CMakeLists.txt do Cuneiform não inclui o caminho de inclusão específico do arco das bibliotecas. Para corrigir isso para o ImageMagick, mude a linha 40 de cuneiform_src/CMakeLists.txt de

include_directories(${ImageMagick_Magick++_INCLUDE_DIR})

para

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

A integração de pkg-config do CMake recupera as informações corretamente.

    
por 13.04.2017 / 22:38
2

link

Os arquivos em cuneiform_src / possuem um registro de data e hora = 2010 ou anterior. Não é de admirar que o novo caminho fantasia do Debian não seja encontrado. (magick / magick-baseconfig.h não encontrado).

Uma correçã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.

    
por 13.04.2017 / 20:06