« MPEG1デコーダーについて | メイン | Theora と MPEG I »

2007年10月23日

日常の備忘録:: BCC 用の libjpeg を作るメモ

    

IJG JPEG library 高速化版 を C++ Builder 2007 で使えるスタティックライブラリ化する時のメモ。
まずは NASM の V.0.98.40 以降を手に入れないといけないのだが、公式サイトの Win32 用のバイナリでは、V.0.98.39 から V.0.99.03 に跳んでおり、V.0.98.40 がない。
で、V.0.99.03を試しても、エラーになるので V.0.98.40 を探す必要がある。
単純に「 NASM 0.98.40 」で検索すれば見付かるはず。

後は……
jconfig.bc5 を jconfig.h にリネーム。
makefile.bc5 を makefile にリネーム。
C++ Builder 2007 のRAD Studio コマンドプロンプトを立ち上げ make で OK 。
そうすれば、libjpeg.lib が出来る。

使う側のアライメントのサイズや enum ( 列挙型 ) のサイズを変更している時は注意が必要。
makefile を書き換えてそれらを指定してやる必要がある。
アライメントのサイズは -a4 などと指定する。
デフォルトは、8 byte なので、上の -a4 と言う指定では、4 byte になる。
enum のサイズはデフォルトで int 型になっているけど、short にする場合は、 -b- を付ける必要がある。
C++ Builder 2007 の GUI では逆で、「整数サイズの列挙型 」と言う指定になっている。
コマンドラインオプションは CFLAGS に付け加えてやれば OK 。

アライメントサイズは C++ Builder 6 の時も 8 がデフォルトだが、enum 型は異なるよう。
C++ Builder 6 だと「enum 型を int 型として扱う」のチェックが外れている。
なので、昔のプロジェクトファイルをコンバートした場合は、注意する必要がある。



投稿者 Takenori : 2007年10月23日 15:14




comments powered by Disqus
Total : Today : Yesterday : なかのひと