Я пытаюсь построитьклинописьиз исходного кода с поддержкой imageMagick, но похоже, что в пакете Debian отсутствует заголовочный файл. Когда я запускаю, make
он падает в самом конце процесса:
[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.
При поиске заголовка выясняется, что его можно найти в другом каталоге ImageMagick:
$ find /usr/include/ -name "*baseconfig*"
/usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h7
Глупое создание мягкой ссылки на отсутствующий файл не решило проблему.
Как заставить компилятор использовать другой каталог include?
решение1
Cuneiform CMakeLists.txt
не включает в себя библиотеку архитектурно-специфического пути включения. Чтобы исправить это для ImageMagick, измените строку 40 cuneiform_src/CMakeLists.txt
из
include_directories(${ImageMagick_Magick++_INCLUDE_DIR})
к
include_directories(${ImageMagick_Magick++_INCLUDE_DIR} ${ImageMagick_Magick++_ARCH_INCLUDE_DIR})
Интеграция CMake pkg-config
корректно извлекает информацию.
решение2
Ссылка.http://bazaar.launchpad.net/~jpakkane/cuneiform-linux/trunk/files
Файлы в cuneiform_src/ имеют временную метку = 2010 или ранее. Неудивительно, что новый модный путь Debian не найден. ( magick/magick-baseconfig.h не найден ).
Легкое решение: #mkdir /usr/local/include/magick
# cp /usr/include/x86_64-linux-gnu/ImageMagick-6/magick/magick-baseconfig.h /usr/local/include/magick/
... И исполняемый файл cuneiform
создан.