Tôi có một số mã được viết bằng cách sử dụng các tiêu chuẩn C++ 11, và phiên bản g ++ của chúng tôi là 4.4.6, vì vậy theo như tôi có thể nói, C++ 11 nên được hỗ trợ (từ 4.3 trở đi).-std = C++ 11 cờ không được nhận ra trong G 4.4.6
Tuy nhiên khi cố gắng để biên dịch với những lá cờ "-std = C++ 11 -std = gnu ++ 11", tôi nhận được lặp đi lặp lại các lỗi
cc1plus: error: unrecognized command line option "-std=c++11"
cc1plus: error: unrecognized command line option "-std=gnu++11"
Biên soạn với -std = C++ 0x sản xuất lỗi như
DeviceInfo.cpp:22: error: expected initializer before ‘:’ token
tương ứng với dòng mã này:
for (cl::Platform& plat : platforms)
là một này C++ 11 bit cụ thể của Cú pháp ? (Nó không giống như nó cho tôi, nhưng tất cả các mã này đã được đưa ra như là một ví dụ rất nên làm việc theo quy định với các trình biên dịch.
Bất kỳ sự giúp đỡ?
Bạn sẽ cần GCC> = 4,7 để nhận cờ 'C++ 11'. 4.4 quá cũ, bạn sẽ không nhận được phạm vi dựa trên AFAIK, ngay cả với '-std = C++ 0x'. Xin vui lòng _at ít nhất_ đọc trang người đàn ông cho trình biên dịch, các tùy chọn nó hỗ trợ được liệt kê trong đó. – Mat