imagick-v3.1.0RC2
CentOS 5.5にパッケージをインストールしています。 ImageMagick 6.7.9-9もインストールしましたが、make
手順に問題があります。
問題は、埋め込みファイルが見つからないことです。
/usr/local/include/ImageMagick/wand/magick/accelerate.h:25:31: エラー: Magick/morphology.h: そのファイルまたはディレクトリがありません。
フォルダをコピーするとmagick
見つけること/usr/local/include/ImageMagick/wand/magick/magick
ができますが、他のファイルが見つからないというメッセージが表示されますので、magic/xxx.h
Magicをコピーする必要があります。この問題を解決する方法はありますか?
シンボリックリンクを作成しましたが、25行目の/ImageMagick/wand/magick
ln -s ../magick magick
ファイル内にまだ同じ問題があります。accelerate.h
#include <magick/random_.h>
私もやってみました。
make --include-dir=/usr/local/include/ImageMagick/ --include-dir=/usr/local/include/ImageMagick` and `make -I /usr/local/include/ImageMagick/ -I /usr/local/include/ImageMagick
make -n
私はmakeが実行するすべてのコマンドを表示するために実行し、コマンドを追加して-I /usr/local/include/ImageMagick/ -I /usr/local/include/ImageMagick
手動で1つずつ実行しました。
より速い方法はありませんか?
修正、解決済み:
秘密は、ファイルがどこにあるかを見つけ、find / --name "missing.file"
Make ieを実行したフォルダにシンボリックリンクを追加することでした。/usr/src/imagick-v3.1.0RC2/
ln -s usr/local/include/ImageMagick/magick magick
そして
ln -s usr/local/include/ImageMagick/wand wand
答え1
-I/usr/local/include/ImageMagick/wand
たとえば、杖ディレクトリに-Iを追加します。-I/usr/local/include/ImageMagick/wand/magick
答え2
make
申し訳ありません。完全に誤解されたようです。私はこの質問にGNU makeについて話していると仮定して答えています。しかし、一部の人々は他のバージョンの存在を完全に否定しているようです。
次の 2 行のコードで取得できるタスクは次のとおりです。
make --include-dir=/usr/local/include/ImageMagick/ --include-dir=/usr/local/include/ImageMagick
make -I /usr/local/include/ImageMagick/ -I /usr/local/include/ImageMagick
ただこれらの引数を に渡すだけですmake
。正当であるがプロセスが呼び出すコンパイラによって使用されるインクルードではなく、/Makefile
に含まれるインクルードを提供します。GNUmakefile
make
これを達成するための最良の実行方法は次のとおりです。
make -npf /dev/null
(パイプラインがless
左右に入ります)
基本的なルールを理解します。 C または C++ コンパイラがこれらのファイルを検索できるようにし、make プロセスがデフォルトのルールおよび/またはルールを使用すると仮定すると、次のいずれかの変数を設定できる必要があります。
CPPFLAGS
(Cプリプロセッサフラグ)CFLAGS
(Cコンパイラフラグ)CXXFLAGS
(C++ コンパイラフラグ)
具体的な内容を見るにはあなたの make
ファイルチェックアウト
make -np
# or ...
make -npf Makefile
基本ルールが上書きされた場合。
これは、プロセスの内部構造に基づいてmake
コンパイラが正しい場所を指すのに役立ちます。たとえば、GCCでコンパイルする場合そしてリンクがCPPFLAGS
正しく機能する必要があります。あなたの例では、make
次のように呼び出したいと思います。
make CPPFLAGS="-I /usr/local/include/ImageMagick/ -I /usr/local/include/ImageMagick"
install
デフォルトのターゲットだけでなく、自分の名前のターゲットも使用したいとします。
make CPPFLAGS="-I /usr/local/include/ImageMagick/ -I /usr/local/include/ImageMagick" install
make instead
...別のオプションは、コマンドラインから変数を環境変数に渡すことです。
CPPFLAGS="-I /usr/local/include/ImageMagick/ -I /usr/local/include/ImageMagick" make
...同様の方法で定義(-DNAMEOFDEFINE=VALUE
)を設定できます。