2014-04-08 14 views
5

biên dịch ra:QMAKE_CXXFLAGS Thêm + = -std = C++ 11 tới .pro tập tin trong qt không làm việc (trên Linux 12.04)

[main.o] Lỗi 1

cc1plus: lỗi: không được công nhận tùy chọn dòng lệnh '-std = C++ 11'

+0

Tôi nghĩ rằng đây có thể là do thực tế là tôi đang sử dụng Qt 2.4 .1 hoặc một cái gì đó như thế. Tải xuống phiên bản mới nhất ngay bây giờ từ trang web của họ. Ban đầu tôi đã tải xuống từ trung tâm phần mềm ubuntu. – user3466884

+1

Sự cố có nhiều khả năng là phiên bản trình biên dịch trên hệ thống của bạn. Trình biên dịch nào là 'cc1plus'? Không giống như gcc với tôi. FWIW 2.4.1 gần như chắc chắn là phiên bản của QtCreator. Bất kỳ phiên bản gần đây nào của thư viện Qt là 4.x hoặc 5.x –

+1

Có thể trùng lặp của http://stackoverflow.com/questions/14674597/cc1plus-error-unrecognized-command-line-option-std-c11-with- g – anttix

Trả lời

1

Giải pháp là cập nhật phiên bản gcc cổ của bạn trên hệ thống. Trong thực tế, tôi khá ngạc nhiên khi bạn có một phiên bản cũ trên phiên bản 12.04 Ubuntu của bạn. Nó cần phải có 4.6.3 bởi deault.

Những gì bạn có thể thử là C++ 0x thay vì C++ 11 và xem điều đó có hiệu quả không. Bạn cũng có thể kích hoạt hướng dẫn gcc bằng cách phát hành man gcc và tìm tùy chọn chính xác.

Ngoài ra, trong khi chúng tôi là nó, bạn có thể có lẽ chỉ đơn giản là viết những dòng này trong file dự án qmake của bạn thay vì cấu hình thô như:

CONFIG += c++11 
1

Như những người khác đã nói trong nhận xét, điều này không liên quan gì đến phiên bản Qt Creator, nhưng được gây ra bởi phiên bản g ++ không hỗ trợ C++ 11, cho một chút cũ g + + (nhưng lưu ý rằng bạn cần ít nhất 4.3) chuyển đổi để kích hoạt tính năng C++ 0x được thực hiện trong trình biên dịch là QMAKE_CXXFLAGS += -std=c++0x bạn có thể xem các tính năng có sẵn bằng cách theo các liên kết trongnày

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