Vì Apple không hỗ trợ GCC 4.6 hoặc GCC 4.7, tôi vừa chuyển sang bản dựng GCC 4.6/4.7 của MacPorts. Tuy nhiên, tôi đã gặp sự cố khi xây dựng mã của mình trong kiến trúc "Phổ".Tôi có thể biên dịch mã phổ dụng bằng cách sử dụng GCC của Macports không?
Theo truyền thống, tôi muốn làm g++ -arch i386 -arch x86_64 ...
để biên dịch mã nhị phân của tôi cho kiến trúc ít nhất là i386/x86_64. Tôi đã thực hiện một số tìm kiếm, và nhận ra rằng tùy chọn -arch chỉ được hỗ trợ bởi trình biên dịch của apple. Vì vậy, tất nhiên nó không hoạt động với Macports '. Điều tốt nhất tôi có thể làm là sử dụng các tùy chọn -m32
/-m64
để chỉ định kiến trúc tôi muốn. Tuy nhiên, điều này sẽ chỉ tạo ra một eitherr nhị phân ở định dạng i386 hoặc x86_64. Những gì tôi thực sự muốn là có được một tập tin nhị phân trong cả hai kiến trúc (Universal) cũng giống như được thực hiện với các trình biên dịch GCC gốc.
Điều này có được hỗ trợ hoặc sự cố đã biết không? Tôi đã thử cả đêm tìm kiếm câu trả lời trên Google, nhưng tôi chưa nhận được gì hữu ích. Vì vậy, tôi chỉ bắt đầu nghi ngờ nếu tôi là người duy nhất có vấn đề này và tôi đã bỏ lỡ một cái gì đó thực sự quan trọng để làm cho nó hoạt động? Thực sự đánh giá cao nếu có ai có thể cho tôi một số gợi ý.
BTW. Tôi đã cài đặt gcc46 +universal
biến thể, nhưng nó không tạo ra bất kỳ thứ gì thực sự phổ biến ngoại trừ việc biên dịch các tệp nhị phân riêng biệt cho mỗi kiến trúc.
Xing.
Nhờ đó hoạt động. Tôi không biết có lipo, tôi đoán tất cả những gì tôi thực sự cần là lipo. Tôi cần phải thay đổi một số Makefiles của tôi để ngăn chặn các lá cờ vòm và sử dụng lipo để tạo mã phổ quát bây giờ :) –