XcodeでReleaseコンパイル時のエラーの対処

DebugだとビルドできるのにReleaseでビルドするとエラーになり、
なんでだろうとはまったのでそのときの解決メモ


エラー内容

/Developer/usr/bin/../libexec/gcc/i686-apple-darwin8/4.0.1/ld: 
warning can't open dynamic library: /Developer/SDKs/MacOSX10.4u.sdk/sw/lib/libpng12.0.dylib 
referenced from: /Developer/SDKs/MacOSX10.4u.sdk/usr/local/lib/libhighgui.1.0.0.dylib 
(checking for undefined symbols may be affected) 
(No such file or directory, errno = 2)

libhighgui.1.0.0.dylibが参照しているlibpng12.0.dylibがないよとおこられる。
実際には/sw/lib上に実体はある。

情報見る>ビルド>SDKパスの
/Developer/SDKs/MacOSX10.4u.sdk
が気になったので調べた。

以下を参考に
http://www.s-musiclab.jp/mmj_docs/develop/ub_sdk/ubsdk03.html

SDKパス

これは、どちらの設定の場合も /Developer/SDKs/MacOSX10.4u.sdk でなければなりません。
Interマシンだけで開発を行う場合は、この項目を空白にしておいてもかまいませんが、PowerPCIntelマシン向けに開発したいのであれば、/Developer/SDKs/MacOS10.4u.SDK が必要になります。
SDKパスはハードドライブのルートレベルで検出されるすべてのヘッダ、フレームワーク、ライブラリの完全なコピーに対するパスです。
PowerPCマシンでは、10.4 Universal SDK にはユニバーサルバイナリコードによる様々なライブラリが含まれています。一般的なシステムのルートレベルにある同様なライブラリはPowerPC専用のものです。

ターゲット設定を編集してSDKパスを入力する場合、SDKフォルダの正確なパス名を把握していなければならない点には注意が必要です。しかし、プロジェクト設定ウィンドウを使う場合、その正確なパス名を知らなくても、便利なポップアップメニューを使って全てのターゲットやビルド設定のためにSDKパスの変更を行うことができます。

アーキテクチャIntelのみにしたので、PPC用は不要
ということなのでSDKパスを空白にしたらコンパイルできた。
利用したサンプル(OpenCVプログラミングブックp052)

OpenCV プログラミングブック

OpenCV プログラミングブック