2011-08-23 36 views
8

Tôi đang cố gắng biên dịch bằng trình biên dịch LLVM GCC 4.0 và tôi gặp lỗi này trong nhiều tệp .m của mình: ARC cấm gửi thông báo rõ ràng về 'phát hành' Tôi đã thử sử dụng -fno -objc-arc như một cờ trình biên dịch nhưng trả về lỗi: Tùy chọn dòng lệnh không được nhận ra "-fno-objc-arc".Lỗi ARC khi biên dịch

Tôi làm cách nào để giải quyết vấn đề này?

Trả lời

45

Chỉ cần xóa tất cả các cuộc gọi đến -release. Bạn không được phép gọi -release trong ARC vì trình biên dịch sẽ chèn tất cả các cuộc gọi retain/release cần thiết cho bạn. Đọc thêm về ARC here.

Một cách khác là sử dụng các công cụ chuyển đổi, và Xcode có thể chuyển đổi dự án của bạn để ARC (bao gồm loại bỏ các cuộc gọi) cho bạn:

Để vô hiệu hóa ARC hoàn toàn, thay đổi xây dựng các thiết lập của bạn:

Tuy nhiên tôi khuyên bạn nên bắt đầu sử dụng ARC, điều này sẽ giúp mọi việc trở nên dễ dàng hơn và thực sự nhanh hơn.

+0

Có cách nào để vô hiệu hoá ARC trong trình biên dịch LLVM không? Khi tôi nhấn Convert to Objective-C ARC ... nó nói tất cả các mục tiêu đã sử dụng nó. – Ben

+0

Chắc chắn, tôi sẽ cập nhật câu trả lời của tôi chỉ trong một giây. – jtbandes

Các vấn đề liên quan