構築しようとしています。楔形文字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
不足しているファイルへの愚かなソフトリンクは問題を解決しませんでした。
コンパイラに他のインクルードディレクトリを使用するようにどのように指示できますか?
答え1
楔形文字には、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
...実行ファイルが生成されます。