2016-09-15 13 views
0

MagickReadImage()が失敗した(返されるMagickFalse)MagickWandコードがあります。例外が発生していないときにMagickReadImageをデバッグする方法

例外が発生することはありません。MagickGetException()は、ドキュメントを正しく理解しても例外を意味しない空の文字列を返します。

オープンしたいファイルがあります。同じユーザーの他のツールで開くことができます。magick_wandはNULLではありません。

コール周りのコードは、基本的にこれです:

// read image 
    MagickBooleanType status = MagickReadImage(magick_wand, fn_selector); 

    // make sure it worked 
    if (status == MagickFalse) 
    { 
      char *description; 
      ExceptionType severity; 
      description=MagickGetException(magick_wand,&severity); 
      fprintf(stderr,"%s %s %lu :%s: %u\n",GetMagickModule(),description,severity); 
      description=(char *) MagickRelinquishMemory(description); 
      fprintf(stderr, "magickwand couldn't read file %s\n", fn_selector); 
      exit(1); 
    } 

は、関数呼び出しが失敗した理由を見つけるための方法はありますか? MagickReadImage()は簡単にデバッグできない内部関数を呼び出すようですが、絶対に必要でない場合は、デバッグ用のものを追加してMagickWandライブラリを構築したくありません。 MagickWandバージョン6.8.9.9(Debianのジェシー)

答えて

0

を使用して

はImageMagickののPDF読取部は、システムにインストールするghostscriptの実行可能(/usr/bin/gs)が必要です(straceを経て)が判明します。 Debian aptパッケージマネージャを使ってImageMagickをインストールするとき、ghostscriptは依存性ではなく、Magickライブラリの推奨事項です。残念ながら、Magickは、読み込み呼び出しが失敗したときにライブラリコンポーネントが失われていることを通知する必要はないと考えています。

ghostscriptパッケージをインストールすると、すべて正常に動作します。

関連する問題