ビルドエラー - 不足しているヘッダーファイルの修正方法

ビルドエラー - 不足しているヘッダーファイルの修正方法

私は構築しようとしている楔形文字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

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が作成されます。

関連情報