今回はiPhoneOS向けのFrameworkを作る事をやってみましょう。
まずはmake.shとMakeFile.inを拾ってきます。
make.sh
Makefile.in

DownLoadを押してそのまま保存してしまうと長いファイル名になってしまうので、各々make.shとMakefile.inという名前を入力して保存しましょう。
保存場所はopencv-1.1.0の直下です。
Makefile.inは置き換えてしまいます。

保存したファイルは改行コードがWindowsで一般的に使われているCR+LFになってしまっていると思うので、UNIXで一般的に使われているLFに適当なテキストエディタを使って変更して保存し直してください。
iPhone 3Gが発売された後にMacOSを使い始めた自分はこれになかなか気付かず2時間ほどロスしました。
次に「opencv-1.1.0/ml/src/ml_inner_functions.cpp」の中の「cvCompleteSymm」の部分をコメントアウトします。
/* Aij <- Aji for i > j if lower_to_upper != 0
for i < j if lower_to_upper = 0
void cvCompleteSymm( CvMat* matrix, int lower_to_upper )
{
・
・
・
__END__;
}
*/
これで準備完了です。
ターミナルを開いて「sh make.sh」と実行するとビルドが始まります。
5分ほどで終わります。
ビルドが完了するとopencv-1.1.0の下に「build_iphoneos」といフォルダが出来ています。
その中に「OpenCV.framework」があります。

これでFrameworkは作れました。
ただし、このFrameworkはシミュレータでは使えるけれど、動的リンクを許可されていない実機では起動時のロードでエラーになってしまいます。
実機でOpenCVを使えるようにするには静的ライブラリを作成し、静的リンクをさせる必要があります。
今回はここまで。
iPhone開発を始めた頃、Quratzの描画などで大変お世話になりました。
今後ともよろしくお願いします。