2012/07/07

ZXing の巻

QR コードのデコーダーにはいろいろありますが、今回、ZXing を試してみました。

まず、ImageMagick-6.7.8-1 をビルドします。まず、configure.ac へ、Haikuports のパッチを当てます。
また、システムの libjpeg が、jpeg_simple_lossless() を持っていないため (?)、zxing のリンク時にエラーとなるので、ImageMagick-6.7.8-1/coders/jpeg.c にもパッチを当てます。

{
#if 1 /*!defined(C_LOSSLESS_SUPPORTED)*/
quality=100;
if (image->debug != MagickFalse)

あとは、ビルドとインストールです。あとでヘッダーのリンクし直しが必要だったので、prefixは /boot/common のほうがよいかもしれません…

autoconf
configure --prefix=/boot/home/config
make install

つぎに、ZXing 本体ですが、コードは問題無い (gcc4 で確認) のですが、使用しているビルドシステム、SCONS が Haiku ではうまく動かないようです。とりあえず、zxing-2.0/cpp/scons/scons-local-2.0.0.final.0/SCons/Platform 以下のファイル (__init__.pyhaiku.py) を置き換えます。

zxing-2.0/cpp へ移動して、ビルドします。

python scons/scons.py zxing

最後、リンクで引っかかるので、SCONS をいじるのは止めて、

g++ -o build/zxing build/magick/src/MagickBitmapSource.o build/magick/src/main.o build/libzxing.a -lMagick++ -lMagickWand -lMagickCore -liconv

を打ち込んで終わりです。
いくつかのファイルで試して見ました。さて、どこのファイルでしょうか?



ZXing は、Makefile などを作成したほうが、Haiku でのビルドは楽になると思います (今回は途中まで作って断念)…

0 件のコメント:

コメントを投稿