Erstellungsfehler – So beheben Sie eine fehlende Headerdatei

Erstellungsfehler – So beheben Sie eine fehlende Headerdatei

Ich versuche zu bauenKeilschriftaus der Quelle mit ImageMagick-Unterstützung, aber es sieht so aus, als ob dem Debian-Paket eine Header-Datei fehlt. Wenn ich es ausführe, makeschlägt es ganz am Ende des Prozesses fehl:

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

Bei der Suche nach dem Header stellt sich heraus, dass er in einem anderen ImageMagick-Verzeichnis zu finden ist:

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

Das einfache Softlinken der fehlenden Datei hat das Problem nicht gelöst.

Wie kann ich den Compiler dazu bringen, das andere Include-Verzeichnis zu verwenden?

Antwort1

Cuneiforms Include- CMakeLists.txtBibliotheken enthalten keinen architekturspezifischen Include-Pfad. Um dies für ImageMagick zu beheben, ändern Sie Zeile 40 cuneiform_src/CMakeLists.txtvon

include_directories(${ImageMagick_Magick++_INCLUDE_DIR})

Zu

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

Die Integration von CMake pkg-configruft die Informationen korrekt ab.

Antwort2

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

Die Dateien in cuneiform_src/ haben einen Zeitstempel = 2010 oder früher. Kein Wunder, dass der neue schicke Debian-Pfad nicht gefunden wird. ( magick/magick-baseconfig.h nicht gefunden ).

Eine einfache Lösung: #mkdir /usr/local/include/magick

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

... Und die ausführbare Datei cuneiformwird erstellt.

verwandte Informationen