2009-07-21 30 views
7

Tôi đang gặp sự cố khi nhận Pinch Analytics r64, thư viện tĩnh được xây dựng với iPhone SDK 3.0, để liên kết đúng cách trong ứng dụng của tôi đang nhắm mục tiêu iPhone OS 2.0. Điều này có vẻ là một vấn đề khá phổ biến và thậm chí có Pinch Analytics' site thậm chí có an entire page devoted to answering this question.Xây dựng iPhone SDK mục tiêu 2.x với SDK cơ sở 3.0, khi liên kết các thư viện tĩnh được tạo với SDK 3.0

Về cơ bản, họ nói để đặt SDK cơ sở của dự án thành 3.0 (hoặc bất kỳ phiên bản nào bạn đang nhắm mục tiêu). Tôi đã thực hiện tất cả các bước, xác nhận rằng tôi không trọng bất kỳ cài đặt dự án trong cài đặt mục tiêu của tôi, đã làm sạch mục tiêu của tôi, nhưng vẫn còn tôi nhận được các lỗi mối liên kết sau đây:

Undefined symbols:
"___restore_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didFailWithError:] in libPMAnalytics-r64.a(Beacon.o)

"___save_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didFailWithError:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didReceiveData:] in libPMAnalytics-r64.a(Beacon.o)`

, vv

Tôi sắp kết thúc ở đây; Bất kỳ đề xuất nào cũng sẽ rất tuyệt!

Trả lời

3

Sau một vài email với nhóm Pinch Media, sự cố đã được giải quyết. Về cơ bản, bạn nên KHÔNG BAO GIỜ SỬ DỤNG DROPDOWN ĐỂ CHỌN SDK HOẠT ĐỘNG KHÁC NHAU.

Đặt SDK cơ sở thành 3.0 trong Thông tin dự án. Đặt mục tiêu triển khai hệ điều hành iPhone thành 2.0 (hoặc bất kỳ phiên bản nào bạn đang nhắm mục tiêu) trong Thông tin dự án. Đặt lại thiết bị/cấu hình/mục tiêu thả xuống Base SDK (3.0) hoặc Xcode sẽ sử dụng chuỗi công cụ OLD được liên kết với "Active SDK" đã chọn.

4

Kiểm tra trình biên dịch của bạn. Tôi nghi ngờ bạn có một sự không phù hợp giữa mã được biên dịch với LLVM-GCC4.2 và GCC4.0.

+0

Bạn nói đúng - nhìn lại sản lượng biên dịch của tôi Tôi đang sử dụng gcc-4.0. Tôi không chắc chắn nơi để thay đổi điều này mặc dù, như dự án của tôi và các thiết lập mục tiêu cả hai chỉ định mặc định, 4.2. – pix0r

+0

Bạn đang biên soạn cho Trình mô phỏng hoặc Thiết bị? Tôi không nghĩ rằng bạn có thể biên dịch iPhoneOS trên 4,2 khá, mặc dù từ lỗi của bạn nó cho thấy rằng libPMAnalytics-r64.a đã được biên soạn với LLVM. Bắt đầu bằng cách thiết lập trình biên dịch của bạn thành 4.0 và xem có giải quyết vấn đề không. –

+0

Chỉ trả lời câu hỏi của riêng tôi - nhưng tôi đánh giá cao sự giúp đỡ của bạn. Tôi đã sử dụng thả xuống trên cửa sổ dự án để chọn những gì tôi nghĩ là Target SDK. Điều này không chính xác, luôn để thiết lập này ở cùng phiên bản với SDK cơ sở trong Thông tin dự án. Cảm ơn! – pix0r

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