1

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のデフォルト構成で何かが変更されたのではないでしょうか?

誰かが洞察を提供できるなら、私はそれを感謝します。

ありがとう。

4

1 に答える 1

2

ターゲットに AudioStreamer.m を追加する必要があるようです。

于 2010-08-12T20:09:31.730 に答える