2011-03-15 3 views
1

클래스에 대한 단위 테스트를 작성하고 싶지만 연결 문제를 해결할 수 없습니다. 테스트 헤더에, 나는 "myclass.h"를 가져 오지만 테스트 구현 파일에 myclass 객체를 할당 할 때 심볼을 찾을 수 없습니다. 나는 이미 의존성 tho를 추가했다.OCUnit 링크 문제 질문

"OBJC_CLASS_$_PhotoArrayControl", referenced from: 
objc-class-ref-to-PhotoArrayControl in PhotoArrayControlUnitTest.o 
(maybe you meant: _OBJC_CLASS_$_PhotoArrayControlUnitTest) 
ld: symbol(s) not found 

어떤 아이디어가 있습니까?

답변

2

이런 종류의 오류는 진단하기가 힘들어서 길기는하지만 링크 오류는 컴파일러가 파싱 단계에서 특정 기호에 대해 말했음을 의미합니다. 마지막 단계에서 알지 못한다는 것을 알았습니다 곳은. 이는 아마도 .m 파일이 나머지 테스트 코드로 컴파일되지 않았을 가능성이 높습니다. 이는 .m 파일이 테스트 대상의 멤버가 아니기 때문일 수 있습니다.

Xcode 4에서 .m 파일을 선택하고 오른쪽 패널을 불러옵니다 (도구 모음의 "보기"범주에서 가장 오른쪽 아이콘 클릭). "Target Membership"이라는 섹션이 있어야합니다. 테스트 번들이 선택되어 있는지 확인하십시오. Xcode 3에서 테스트 묶음을 활성화 대상으로 만들고 프로젝트 탐색기의 가장 오른쪽 열에있는 확인란이 선택되어 있는지 확인하십시오.

+0

캐시를 비우면 해결할 수 있다고 생각했지만 추측하지는 마세요. 저는 Xcode3.x 버전을 사용하고 있습니다. –

+0

@ Ha-eun Chung. .m 파일이 테스트 대상의 멤버입니까? – zneak

+0

내가 테스트 대상의 컴파일 소스 아래에 .m 파일을 포함해야합니까? –