Ошибка сборки — как исправить отсутствующий заголовочный файл

Ошибка сборки — как исправить отсутствующий заголовочный файл

Я пытаюсь построитьклинописьиз исходного кода с поддержкой 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создан.

Связанный контент