2011-08-23 12 views
8

LLVM GCC 4.0 컴파일러를 사용하여 컴파일하려고하는데 여러 .m .m 파일에서이 오류가 발생합니다. ARC는 '릴리스'라는 명시 적 메시지 전송을 금지합니다. -fno -objc-arc를 컴파일러 플래그로 사용하지만 오류를 반환합니다. 인식 할 수없는 명령 행 옵션 "-fno-objc-arc".컴파일 할 때 ARC 오류가 발생했습니다.

어떻게 해결할 수 있습니까?

답변

45

-release에 대한 모든 통화를 삭제하십시오. 컴파일러가 필요한 모든 retain/release 호출을 삽입하기 때문에 ARC에서 -release에 전화 할 수 없습니다. ARC here에 대해 더 자세히 읽어보십시오.

다른 방법은 변환 도구를 사용하는 것입니다, 그리고 엑스 코드는 당신을 위해 ARC (이러한 호출을 제거 포함)에 프로젝트를 변환 할 수 있습니다

가 완전히 ARC를 비활성화 빌드 설정을 변경하려면 :

그러나 ARC를 사용하기를 권합니다. 작업이 훨씬 쉽고 실제로 빨라질 것입니다.

+0

LLVM 컴파일러에서 ARC를 비활성화 할 수있는 방법이 있습니까? Objective-C ARC로 변환을 클릭하면 모든 대상이 이미 그것을 사용하고 있다고합니다. – Ben

+0

물론, 잠시 후에 내 대답을 업데이트하겠습니다. – jtbandes

관련 문제