cuốn sách gpt4 ai đã làm

从新的 mac 机器为旧 mac 创建应用程序?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 02:17:23 27 4
mua khóa gpt4 Nike

Tôi đang viết một ứng dụng mẫu trên MAC OSX 10.6 với gcc phiên bản 4.2. Tôi đang sử dụng gcc phiên bản 4.2 để biên dịch ứng dụng. Nó hoạt động tốt trên cùng một máy, nhưng trên MAC OSX 10.5 (gcc 4.0) thì nó không hoạt động. Làm cách nào tôi có thể biên dịch cái này trên 10.6 để nó cũng chạy trên các máy cũ hơn?

Tôi gặp những lỗi này

dyld: lệnh tải yêu cầu không xác định 0x80000022
Bẫy dấu vết/BPT

Lệnh tôi sử dụng để xây dựng là

gcc -m32 main.cc 

câu trả lời hay nhất

Ứng dụng được xây dựng không chính xác trên máy OS X 10.6 dưới dạng máy 10.5. Các nhà phát triển có thể giải quyết vấn đề này bằng cách xem xét ba điều:

Sử dụng các tham số trình biên dịch chính xác:
gcc-4.2 -mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk ...

Sử dụng cài đặt trình liên kết chính xác (đặt biến môi trường trước lệnh liên kết). Điều này là bắt buộc để trình liên kết OS X 10.6 sẽ không sử dụng lệnh trình tải 'LC_DYLD_INFO_ONLY' (= 0x80000022), vì OS X 10.5 không hiểu lệnh này:

xuất MACOSX_DEPLOYMENT_TARGET=10,5
(hoặc setenv MACOSX_DEPLOYMENT_TARGET=10.5)

Sau khi khắc phục sự cố này, bạn có thể kiểm tra xem ứng dụng có được xây dựng chính xác cho OS X 10.5 hay không bằng cách chạy "otool":

otool -l tệp nhị phân

Tệp nhị phân chính xác không được chứa bất kỳ lệnh tải "LC_DYLD_INFO_ONLY" nào (chỉ các lệnh "LC_DYLD_INFO").

(Xem thêm bài đăng trên blog của tôi http://grauonline.de/wordpress/?p=71 )

Về việc tạo ứng dụng cho mac cũ từ máy mac mới? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/5509885/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress