Tôi đã mất rất nhiều thời gian để giải quyết vấn đề này, sử dụng các tìm kiếm của Google và các câu hỏi Stack Overflow khác không có sẵn.Lỗi liên kết XCode khi nhắm mục tiêu armv7
Tôi có ứng dụng phổ dụng iPhone/iPad, có vẻ như biên dịch tốt khi mục tiêu là armv6. Tuy nhiên, khi thiết bị là iPad, tôi nhận được cảnh báo này:
warning: building for SDK 'Device - iPhone OS 3.2' requires an armv7 architecture.
Rất tiếc, ứng dụng vẫn chạy tốt trên iPad bất chấp cảnh báo này. Tuy nhiên, tôi muốn làm những điều "đúng cách" những gì bao giờ có nghĩa là trong trường hợp này. Khi tôi chuyển cấu trúc đích sang armv7, tôi nhận được các lỗi liên kết:
"___restore_vfp_d8_d15_regs", referenced from: *redacted* "___save_vfp_d8_d15_regs", referenced from: *redacted* ld: symbol(s) not found collect2: ld returned 1 exit status
Các phần "lỗi" được tham chiếu đến thư viện tĩnh mà tôi đang cố gắng liên kết.
Đây là những gì tôi đã thử từ nhiều đề xuất trực tuyến. Mỗi trong số này được đề nghị nhiều hơn một lần mà không cần bất kỳ lời giải thích, dẫn tôi để tin rằng không ai hoàn toàn hiểu được vấn đề này:.
"Không bao giờ sử dụng trình đơn thả xuống ở phía trên bên trái của cửa sổ XCode để lựa chọn mục tiêu Thay vào đó , đặt SDK này thành Base SDK và sau đó là SDK cơ sở cho iPhone OS 3.0 trong cấu hình đích. Đặt thiết bị mục tiêu thành mục tiêu ưa thích của bạn (iPad, iPhone OS 3.2 trong tình huống của tôi.) "
Điều này mang lại lỗi "Không tìm thấy thư viện cho -lcrt1.3.1.o"
"Đảm bảo rằng GCC không liên kết với phiên bản sai của thư viện chuẩn. (Bạn sẽ phải chắc chắn rằng các LIBRARY_SEARCH_PATH không có con đường sai lầm trong nó.) "
LIBRARY_SEARCH_PATH của tôi đã trống rỗng, vì vậy điều này dường như không có liên quan.
" Thử biên soạn với GCC 4.0 chứ không phải là GCC 4.2 "
tôi nhận được một lỗi cú pháp bên trong một tập tin tiêu đề UIKit lỗi này là. 'cú pháp lỗi trước khi 'AT_NAME' dấu hiệu' Điểm mấu là" UIKIT_EXTERN @ interface UILocalizedIndexedCollation:.. NSObject . "
Một dự án khác chỉ biên soạn với các cài đặt mục tiêu tương tự , thực sự khiến tôi đặt câu hỏi về sự tỉnh táo của mình. Tôi có thể đối phó với một dự án XCode bị hỏng?
Nếu có ai biết điều gì đang thực sự xảy ra và có tham khảo hoặc không bận tâm giải thích, tôi sẽ rất biết ơn.
Chúc mừng!
gì kiến trúc được kết hợp trong thư viện? Bạn có thể tìm thấy điều này với lệnh tệp, ví dụ: "tập tin libfoo.a". – Crufty