Apple đã xóa hoàn toàn mọi hỗ trợ GCC mà họ từng có. Có cách nào để sử dụng một GCC gần đây (nói 4.8) với Xcode 5? Nói cách khác, sử dụng GCC thay cho LLVM trong Xcode.Cách sử dụng GCC gần đây với Xcode 5?
Trả lời
cài đặt GCC 4.8 vào Xcode 4.5, Xcode 4.6, Xcode 5.0:
cho những người chưa cài đặt GCC 4.8:
cài đặt phiên bản mới của home-brew
bạn có thể tìm thấy phương pháp làm thế nào để cài đặt trên Internet
cập nhật brew bạn lên phiên bản mới nhất ($brew update
)
1. brew install gcc48 --enable-all-languages
(có thể nên cài đặt mpc, mpfr và GMP qua brew, http://solarianprogrammer.com/2013/06/11/compiling-gcc-mac-os-x/)
2. $brew link gcc48
3.backup g ++, GPP, C++, cpp, C++ trong /usr/bin/
4. [bước không bắt buộc]:
alias g ++ - 4.8, GPP 4.8, C++ - 4.8, cpp-4,8, C++ - 4,8
từ /usr/local/Cellar/gcc48/4.8.2/bin/g++
để /usr/bin/
[trên 4 bước cho các nhà phát triển đã không cài đặt gcc]
5.make Plugin
1) tải a plugin of GCC 4.5 for Xcode
2) thay đổi mỗi "4.5" đến "4.8", "4_5" đến "4_8", tên tệp, nội dung tệp,
ngoại trừ "com.apple.compilers.gcc.headers.4_2" trong tệp GCC 4.5.xcspec
.
bạn có thể giữ nguyên nội dung ở English.lproj
không đổi và xóa Japanese.lproj
.
3) trong tập tin GCC 4.8.xcspec
(hy vọng bạn đã thay đổi tên tập tin của GCC 4.5.xcspec
-GCC 4.8.xcspec
)
thay đổi ExecPath = "...”;
để ExecPath = "/usr/local/bin/gcc-4.8"
hoặc ExecPath = "/usr/local/Cellar/gcc48/4.8.2/bin/gcc-4.8"
(đối với những người cài đặt gcc-4.8 bởi brew)
4) xóa “-Wshorten-64-to-32” phần trong tập tin GCC 4.8.xcspec
{
Name = "GCC_WARN_64_TO_32_BIT_CONVERSION";
Type = Boolean;
DefaultValue = NO;
CommandLineArgs = {
YES = (
"-Wshorten-64-to-32",
);
NO =();
};
AppearsAfter = "GCC_WARN_PROTOTYPE_CONVERSION";
Category = Warnings;
CommonOption = NO;
DisplayName = "Implicit Conversion to 32 Bit Type";
Description = "Warn if a value is implicitly converted from a 64 bit type to a 32 bit type.
[GCC_WARN_64_TO_32_BIT_CONVERSION, -Wshorten-64-to-32]";
}
6.put sửa GCC 4.8.xcplugin
vào
/Applications/Xcode.app/Contents/Plugins/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/
7.reopen Xcode.
Bây giờ, plugin mới đã sẵn sàng cho bạn. Bạn có thể thấy mới Plugin trình biên dịch GCC của bạn trong "biên dịch cho C/C++/Objective-C" của "Xây dựng Settings" của dự án của bạn
8.change Build Settings trong dự án Xcode
1) Trong project
và target
thiết lập trong Xcode
thay đổi "trình biên dịch cho C/C++/Objective-C" để "GCC 4.8"
2) trong project
thiết lập
delete “CLANG_CXX_LIBRARY" hàng
Ngoài việc này, tôi phải đảm bảo rằng các tệp nhị phân của tôi sẽ liên kết với các thư viện libstdC++ trong /usr/local/Cellar/gcc48/4.8.2/gcc/lib, nghĩa là tôi phải đặt đường dẫn thư viện cho trình liên kết với -L /usr/local/Cellar/gcc48/4.8.2/gcc/lib thay vì -L/usr/lib. –
@ChristianF, Cách đặt lời khen thành Xcode? – frogcjn
Tôi đã thử điều này trên XCode 5.0.2 và trình biên dịch GCC 4.8.2 không được hiển thị trong danh sách trình biên dịch. Tôi cũng đã thử nó với XCode 3 và nó đã xuất hiện ở đó. Có lẽ XCode 5.0.2 đã phá vỡ một cái gì đó. – Halt
- 1. CHỌN 5 gần đây nhất SQL Server
- 2. Đường ray: Hiển thị 5 bài đăng gần đây nhất trừ bài đăng gần đây nhất
- 3. Xcode, cách cập nhật các dự án "Gần đây"
- 4. SQL Query, chọn 5 gần đây nhất trong mỗi nhóm
- 5. Cách tạo Khung iOS bằng cách sử dụng Xcode 5
- 6. Cách tạo Lịch sử Tài liệu Gần đây trong C# trong Ứng dụng WPF
- 7. Sử dụng Kiểm tra Đơn vị trong Xcode 5
- 8. "Mở gần đây" trong Emacs
- 9. Bộ nhớ cache được sử dụng gần đây nhất sử dụng C++
- 10. Các tệp gần đây trong thư mục
- 11. Cách triển khai bộ nhớ cache được sử dụng gần đây nhất
- 12. PBXCP: Không có tệp hoặc thư mục nào như vậy, trong xcode gần đây nhất
- 13. SQL server chọn hàng riêng biệt sử dụng hầu hết các giá trị gần đây chỉ
- 14. Cách tránh ứng dụng của tôi hiển thị trong danh sách các ứng dụng được sử dụng gần đây
- 15. Sử dụng Homebrew với GCC thay thế
- 16. Vòng 5 gần nhất trong SQL Server
- 17. Android: Vô hiệu hóa mục đích ứng dụng gần đây
- 18. MySQL: Nhận hồ sơ gần đây nhất
- 19. Xcode 5 Nút xoay tròn
- 20. Hoạt động gần đây của người dùng - PHP MySql
- 21. Thư viện chất béo trong XCode 5
- 22. Cách lấy tập tin được sửa đổi gần đây nhất
- 23. Sách gần đây về Java JVM?
- 24. Chọn các hàng SQL theo ngày gần đây nhất
- 25. có cách nào để sử dụng C++ 0x tại xcode không? Tôi muốn sử dụng gcc 4.4 hoặc lớn hơn
- 26. Chọn hồ sơ gần đây nhất sử dụng LINQ to Entities
- 27. Sử dụng VBScript để tìm ngày tệp gần đây nhất trong một thư mục
- 28. Cách sử dụng WebView trên xcode 4.5.1
- 29. Lập trình Arduino trên Mac OS X với Xcode 5?
- 30. Phiên bản mới nhất của gcc để sử dụng libstdC++. So.5
Bạn sẽ cần phải viết một plugin xcode để hỗ trợ một trình biên dịch khác, và nó có thể là một chút công việc để hoàn thành nó (tôi không biết, tôi đã không viết một nhưng có câu trả lời liên quan đến các phiên bản trước của Xcode liên quan đến công việc này). – Petesh
Bạn có thể cố gắng ghi đè cờ 'CC' trong Xcode, như được mô tả trong (2) trong [bài đăng này] (http://stackoverflow.com/questions/16261612/is-it-possible-to-compile-a- phiên bản mới hơn-of-llvm-và-sử dụng-nó-với-xcode/16265711 # 16265711). Vấn đề là GCC có một giao diện khác so với Clang, vì vậy nó không hiểu tất cả các cờ Xcode được đặt mặc định. Tôi không thể làm cho nó làm việc cho một ứng dụng mẫu iOS, nhưng nó có thể làm việc nếu bạn không sử dụng một mẫu hoặc không có mục tiêu-C ở tất cả. – hagi