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マシンだけで開発を行う場合は、この項目を空白にしておいてもかまいませんが、PowerPCでIntelマシン向けに開発したいのであれば、/Developer/SDKs/MacOS10.4u.SDK が必要になります。
SDKパスはハードドライブのルートレベルで検出されるすべてのヘッダ、フレームワーク、ライブラリの完全なコピーに対するパスです。
PowerPCマシンでは、10.4 Universal SDK にはユニバーサルバイナリコードによる様々なライブラリが含まれています。一般的なシステムのルートレベルにある同様なライブラリはPowerPC専用のものです。ターゲット設定を編集してSDKパスを入力する場合、SDKフォルダの正確なパス名を把握していなければならない点には注意が必要です。しかし、プロジェクト設定ウィンドウを使う場合、その正確なパス名を知らなくても、便利なポップアップメニューを使って全てのターゲットやビルド設定のためにSDKパスの変更を行うことができます。
アーキテクチャはIntelのみにしたので、PPC用は不要
ということなのでSDKパスを空白にしたらコンパイルできた。
利用したサンプル(OpenCVプログラミングブックp052)
- 作者: 奈良先端科学技術大学院大学 OpenCVプログラミングブック制作チーム
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2007/09/22
- メディア: 単行本(ソフトカバー)
- 購入: 10人 クリック: 1,006回
- この商品を含むブログ (35件) を見る