閉じる

ImageMagickと MaxRGB

ImageMagickを 6.7.7-10に更新したら MaxRGBを使っている箇所で「‘Quantum’ was not declared in this scope」ってなエラーが出るようになった。
調べてみると、MaxRGBは deprecate.hにて QuantumRangeに defineされ、QuantumRangeは magick-type.hにて 「255.0」か「((Quantum) 255)」に defineされている。*1
今回の環境では HDRIを有効にしていないので後者になり、Quantumが未定義になっているわけだ。
問題は Quantumが MagickCoreという namespaceで定義されている点。
defineの定義を書き換えるのも何なので、問題の箇所の前で「using namespace MagickCore;」として逃げ。


*1 実際にはビット深度の定義によって 65535や 4294967295にもなる。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)