2012-10-09 36 views
6

Có một Intel Core Duo MacBook cũ với Snow Leopard, khi tôi cố gắng biên dịch bằng g ++ và tham số đầu vào std = C++ 0x, tôi nhận được:g ++ không biên dịch std = C++ 0x dưới Snow Leopard

cc1plus: error: unrecognized command line option "-std=c++0x" 

Bất kỳ ý tưởng nào về cách sửa lỗi này?

Trả lời

6

C++ 0x/C++ 11 hỗ trợ chỉ được bổ sung bắt đầu với gcc v4.3, xem this page để kiểm tra những gì c tính năng ++ đã được thêm vào trong phiên bản gcc.

Hoặc bạn có thể sử dụng trình biên dịch clang ++, cũng có tiêu chuẩn với XCode. Xem this page để biết thông tin phiên bản.

Hoặc cài đặt gcc47 từ macports

Btw, tốt hơn sử dụng -std=c++11, tùy chọn c++0x không được hỗ trợ bởi kêu vang.

+2

Tất nhiên khi làm việc với g ++ '-std = C++ 11' (không giống' C++ 0x') chỉ được hỗ trợ từ g ++ 4.7, vì vậy trong tương lai gần, quyết định về điều gì tốt hơn tùy thuộc vào bạn cần phải tương thích với trình biên dịch nào. – Grizzly

+0

gcc/g ++ trên cài đặt macports được cài đặt dưới dạng g ++ - mp-v, trong đó v là phiên bản #. bạn có thể kiểm tra ngay nếu bạn có bất kỳ phiên bản mp nào bằng cách gõ gcc-mp và nhấn tab để hoàn thành tab, hoặc g ++ - mp và thực hiện tương tự. – bazz

Các vấn đề liên quan