Objective-C++ で Xcode を使用して iOS アプリを開発しようとしています (したがって、.m、.mm、および .cpp ファイルを使用します)。.cpp ファイルは、サード パーティのライブラリ (OpenCV) を使用します。
リンク時にビルドが失敗し、次のような警告が表示されます (未定義の参照エラーにつながります)。
ld: warning: ignoring file /opt/local/lib/libopencv_calib3d.dylib,
file was built for unsupported file format
( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 )
which is not the architecture being linked (i386):
/opt/local/lib/libopencv_calib3d.dylib
私のアーチはi386です。
Xcode が次のコマンドを実行したことをビルド ログで確認できます。
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 ...
関連しているかどうかはわかりませんがllvm-g++ --version
、ターミナルに入力すると、次のようになります。
i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
すべてを同じアーキテクチャ上に構築するにはどうすればよいですか?