我正在嘗試建立楔形文字來自支援 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
...並且創建了可執行檔。