Matt Gallagher のAudio Streaming Projectを使用しています。コード/プロジェクトをダウンロードしたところ、正常に実行/コンパイル/リンクされました。
問題は、AudioStreamer クラスを自分のプロジェクトに統合しようとしたときです。必要なフレームワークをすべて追加し、プロジェクト設定をチェックして、Matt のプロジェクトと可能な限り一致するようにしました。
Matt のコードはまだ追加していません (AudioStreamer クラスを除く)。今のところ私がしているのは、この関数を定義することだけです:
- (void)createStreamer {
streamer = [[AudioStreamer alloc] initWithURL:audiourl];
}
その関数の唯一の行をコメントアウトすると、プロジェクトは正常にコンパイル/リンクされます。その行をそのままにしておくと、次のエラーが発生します (正しく理解できれば、リンカー エラーです)。
"_OBJC_CLASS_$_AudioStreamer", referenced from:
objc-class-ref-to-AudioStreamer in AudioViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
このエラーをググったところ、特定のフレームワークを含めるのを忘れたため、ほとんどの人がエラーを取得しました。プロジェクトに必要なすべてのフレームワークがあります。
このエラーが発生する可能性がある他の理由を知っている人はいますか? 私が見落としているかもしれない設定はありますか?
Matt のプロジェクトではビルド アーキテクチャが arm6,arm7 に設定され、私のプロジェクトでは i386 に設定されていることを除いて、ほとんどのプロジェクト設定は同じです。シミュレーターとデバイスの両方でコンパイルしようとしましたが、同じエラーが発生します。
私が考えることができる唯一のことは、マットのプロジェクトの日付が2009年(かなり古い)であるため、新しいxcodeのデフォルト構成で何かが変更されたのではないでしょうか?
誰かが洞察を提供できるなら、私はそれを感謝します。
ありがとう。