Câu hỏi ngắn: Làm thế nào để bạn có hai ứng dụng, một cho intel và ppc khác, và gói chúng thành một Universal nhị phân?Tạo "Universal Binary" từ hai ứng dụng?
suy nghĩ hiện tại của tôi về vấn đề này:
Tôi đã đọc mặc dù các tài liệu phát triển táo trên mã nhị phân phổ thông và đã không thể tìm được một câu trả lời như vậy nó có thể không thực hiện được.
Vì lý do tôi không truy cập ở đây, tôi có hai ứng dụng trong chương trình của mình (được sử dụng xtools để biên dịch nhị phân một lần), một cho Intel Mac và một cho Mac> = 10.3.9 chạy trên PPC. Tài nguyên chia sẻ không phải là vấn đề.
Tôi có thể đặt cả MyProg_intel.app và MyProg_ppc.app vào một zip và phân phối theo cách đó; nhưng điều đó có thể dẫn đến sự nhầm lẫn cho nhiều người mà tôi sẽ phân phối chương trình của mình.
lipo trông giống như nó có thể là giải pháp của tôi nhưng input_file đang mong đợi một tệp nhị phân hoặc một số loại tệp khác - không phải là .app (khi tôi thử nó nói _Không thể nhập tệp bản đồ ((os/kern) đối số không hợp lệ) _). Chương trình của tôi được xây dựng với python và phương pháp đóng gói của tôi không biên dịch mọi thứ thành một nhị phân, có một số lượng lớn các phụ thuộc. – marshallpenguin
Bạn sử dụng lipo để kết hợp chỉ các tệp nhị phân: lipo myapp_ppc.app/Contents/MacOS/myapp -output myapp_i386.app/Contents/MacOS/myapp kết hợp phía PPC vào ứng dụng Intel, sau đó bạn có thể đổi tên thành ứng dụng Universal. Nhưng các áp phích khác chính xác hơn. Bạn nên tạo ứng dụng phổ quát ngay từ đầu sau khi xây dựng và liên kết từng kiến trúc, thay vì thực hiện công việc xây dựng .app hai lần và ném đi một lần. – cdespinosa
py2app tạo ra một nhị phân phổ quát rồi. Tại sao không xây dựng các phụ thuộc của bạn với "-arch i386 -arch ppc" trong CFLAGS, CXXFLAGS và LDFLAGS? –