libfftw3 と libaiff 外部ライブラリを使用する C コードを書きました。コードは、必要なライブラリがあり、OS X 10.9 Mavericks を実行している私のマシンで完全にコンパイルおよび実行されます。私は Xcode 5.1 を使用してプログラムをコンパイルしています。必要なライブラリを正しくリンクし、ヘッダー ファイルなどに必要なパスを提供したと思います (すべてが私のコンピューターで正常に動作します)。
実際、作成された実行可能ファイルは、OS X Mavericks を実行し、必要なライブラリもインストールされている別のコンピューターでも実行されます。
問題: Xcode 5.1 を使用してコードをコンパイルし、OS X 10.8 (Mountain Lion) を実行し、上記の両方のライブラリがインストールされていないコンピューターで実行される実行可能ファイルを作成しようとしています。これまでにさまざまなことを試しました:
(1) まず、ベース SDK を OS X 10.9 のままにして、OS X の展開ターゲットを OS X 10.8 に変更し、正常にコンパイルしました。しかし、OS X 10.8 を実行していて、どちらのライブラリもインストールされていない 3 番目のコンピューターで実行すると、次のエラーが発生します。
dyld: lazy symbol binding failed: Symbol not found: ___sincos_stret
Referenced from: /Users/ec/Desktop/Auto Designer C Program Testing/Auto Designer
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ___sincos_stret
Referenced from: /Users/ec/Desktop/Auto Designer C Program Testing/Auto Designer
Expected in: /usr/lib/libSystem.B.dylib
Trace/BPT trap: 5
(2) 次に、Xcode で Base SDK も OS X 10.8 に変更し、OS X Deployment Target を OS X 10.8 に変更してみました。今回は、コードをコンパイルすることさえできませんでした。Xcode で次のエラーが発生しました。
Undefined symbols for architecture x86_64:
"___sincos_stret", referenced from:
_fftw_mktriggen in libfftw3.a(trig.o)
_cexpl_sincos in libfftw3.a(trig.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
これを解決する方法についての助けをいただければ幸いです。ありがとう