Bạn có thể cập nhật lên Xcode 4.1 (hoặc bất kỳ phiên bản mới nhất nào bạn có thể nhận được cho Snow Leopard) và nhận trình biên dịch mới với một vài tính năng C++ 11 khác. Có một số bài viết ở đây trên Stack Overflow về việc hỗ trợ tốt hơn cho C++ 11 trong Xcode 4.1 trên Snow Leopard.
Nhưng ngay cả trình biên dịch mới nhất có sẵn thông qua Xcode cũng không hỗ trợ một số tính năng C++ 11 như lambdas. Để nhận được sự hỗ trợ C++ 11 tốt nhất, bạn sẽ muốn cài đặt trình biên dịch mới hơn, gcc 4.6 hoặc 4.7 hoặc Clang.
Tôi thường xuyên xây dựng phiên bản clang mới nhất từ nguồn. Sẽ không khó nếu bạn quen với việc xây dựng phần mềm nguồn mở khác. Tôi sử dụng repo git cho clang và llvm, http://llvm.org/git/llvm.git
và http://llvm.org/git/clang.git
. Bạn cũng có thể tìm thấy hướng dẫn trên trang web của họ để bắt đầu: http://clang.llvm.org/get_started.html. Một khi bạn có nguồn cho clang và llvm nó chỉ là ./configure && make && sudo make install
. (bạn có thể chạy thử nghiệm trước khi cài đặt, vì điều này là trực tiếp từ kho lưu trữ. Sau khi make
làm make check
trong thư mục llvm và sau khi chuyển cd xuống công cụ/clang và chạy make test
. Nếu mọi thứ đều ổn thì sudo make install
)
Tôi không nhớ liệu Snow Leopard có bao gồm libC++ hay không, vì vậy bạn cũng có thể cần thực hiện điều đó. http://libcxx.llvm.org/
Sau khi mọi thứ được xây dựng và cài đặt, bạn có thể làm:
clang++ -std=c++11 -stdlib=libc++ main.cpp && ./a.out
và bạn nên có chỉ là về C++ 11 hỗ trợ tốt nhất xung quanh.
Các bản vá lỗi gần đây trong tiếng kêu thực sự đã cải thiện hỗ trợ cho các tính năng cuối cùng mà bạn có thể nhận thấy là một lập trình C++ mới. Vẫn còn một vài bit và phần còn lại, nhưng như của 3,1, và theo như tôi biết, clang có tất cả các tính năng C++ 11 hoặc gcc 4.7 hoặc VC++ 11 có và nhiều hơn nữa bên cạnh. libC++ cũng có những khoảng trống nhỏ nhất về tính năng thư viện chuẩn của C++ 11 IME (mặc dù tôi nghĩ thư viện chuẩn của VC++ cũng sẽ khá hoàn chỉnh khi chúng bắt kịp các tính năng ngôn ngữ, ví dụ char32_t và char16_t như các kiểu bản địa. cho những loại đó có thể được sử dụng).
Xem http://stackoverflow.com/questions/7482026/can-i-use-the-latest-features-of- c11-in-xcode-4-or-osx-lion ... – StilesCrisis
@StilesCrisis Câu hỏi được đề cập đến Lion, trong khi tôi hỏi về Snow Leopard ... – fdh
Vâng, nó chắc chắn chỉ khó khăn hơn trên Snow Leopard. Tôi đoán MacPorts là như nhau và Xcode là một nguyên nhân bị mất. – StilesCrisis