2010-08-12 6 views
1

Matt Gallagher의 Audio Streaming Project을 사용하고 있습니다. 내가 코드/프로젝트를 다운로드하고 실행/컴파일/링크 잘.iPhone 링커 오류 (AudioStreamer)

내 자신의 프로젝트에 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 

내가이 오류를 봤 그들이 어떤 프레임 워크를 포함하는 것을 잊었다 때문에 대부분의 사람들은 그것을 얻을 : 내가 거기에 그 라인을 떠나면 나는 (내가 이해한다면 제대로 링커 오류입니다)이 오류가 발생합니다. 내 프로젝트에 필요한 모든 프레임 워크가 있습니다.

누구든지이 오류가 발생할 수있는 다른 이유를 알고 있습니까? 내가 간과 할 수있는 설정이 있습니까?

대부분의 프로젝트 설정은 빌드 아키텍처가 arm6, arm7이 Matt 프로젝트, i386이 내 프로젝트로 설정된다는 점을 제외하고는 동일합니다. 내가 시뮬레이터와 장치 모두에 대한 컴파일을 시도하고 같은 오류가 발생합니다.

내가 생각할 수있는 유일한 점은 Matt의 프로젝트가 2009 년 (꽤 오래된 것)이므로 새로운 xcode의 기본 구성이 변경되었을 가능성이 있습니까?

누구나 통찰력을 제공 할 수 있다면 고맙겠습니다.

감사합니다.

답변

2

AudioStreamer.m을 대상에 추가해야하는 것처럼 들립니다.

+0

그래, 그저 다른 게시물을 통해 그걸 발견했습니다. 대답을 찾는 핵심은 첫 번째 줄 대신 'collect2 : ld가 1 개의 종료 상태를 반환했습니다'를 검색하는 것이 었습니다. 고마워. 나는 이것에 너무 많은 시간을 낭비했다. 이 클래스를 만든 다음 코드를 붙여 넣은 복사 이후 기본적으로 설정되지 않은 이유는 알 수 없습니다. – nebs