Tôi sử dụng ubuntu 12.04 và gcc mặc định là 4.6.3. Nó không chấp nhận lệnh C++ 11 và cho tôi đầu ra nói rằng lệnh này không tương thích với C++ 98. Tôi đã kiểm tra trực tuyến và đã thấy mọi người khuyên không nên thay đổi các trình biên dịch mặc định trên hệ điều hành vì nó trở nên không ổn định. Ai có thể đề nghị một sửa chữa hoặc một cách an toàn để tải về một trình biên dịch gcc đó là c + + 11 tuân thủ.cách thay đổi trình biên dịch gcc thành C++ 11 trên ubuntu
Trả lời
gcc 4.6.3 supports many c++11 features. Tuy nhiên, chúng bị tắt theo mặc định. Để bật chúng, hãy sử dụng cờ sau:
g++ -std=c++0x ...
Cờ này cũng vô hiệu hóa phần mở rộng GNU; để kích hoạt chúng, hãy sử dụng cờ -std=gnu++0x
.
vì vậy tôi cần phải nhập lệnh để biên dịch như g ++ -o filename.cc -std = C++ 0x là nó? –
@talasila Đúng. Bạn có thể cân nhắc nâng cấp gcc lên 4.8, [nó có hỗ trợ C++ 11 tốt hơn nhiều] (http://gcc.gnu.org/gcc-4.8/cxx0x_status.html). – dasblinkenlight
làm cách nào để cập nhật trình biên dịch mặc định của tôi sang trình biên dịch mới. tại sao mọi người nói không loại bỏ một phiên bản gcc hiện có trong hệ điều hành vì nó làm cho hệ thống không ổn định? Có đúng không? –
Khi những người khác đã đề xuất, bạn cần nhập tùy chọn dòng lệnh std. Chúng ta hãy làm cho nó dễ dàng cho bạn
- mở thiết bị đầu cuối bằng cách nhấn Ctrl + Alt + T
sudo gedit ~/.bashrc
Nhập dòng sau dòng cuối cùng
alias g++="g++ --std=c++0x"
- Lưu và đóng tập tin và đóng thiết bị đầu cuối.
- Bây giờ mở thiết bị đầu cuối một lần nữa và biên dịch c của bạn ++ 11 chương trình đơn giản bằng cách
g++ filename.cpp
Thats nó. Theo mặc định, nó sẽ biên dịch cho chuẩn C++ 11.
LƯU Ý: Nếu bạn làm theo các tùy chọn nêu trên, để biên dịch không c-++ 11 chương trình, bạn phải sử dụng
g++ --std=c++98 filename.cpp
ok. Cảm ơn. Nhưng trong lưu ý cuối cùng bạn đã đề cập rằng để biên dịch các chương trình không phải là C++ 11 thay đổi lệnh. Nhưng không phải mọi phiên bản đều tương thích ngược. Vì vậy, trình biên dịch C++ 11 nên biên dịch ngay cả một chương trình mà không có C++ 11 lệnh cụ thể. –
- 1. Biên dịch CentOS trên Ubuntu
- 2. pycrypto trên Ubuntu cho lỗi trình biên dịch
- 3. Trình biên dịch C++ tốt cho GCC
- 4. Cách thay đổi trình biên dịch tomcat
- 5. Biên dịch mã C++ cho AIX trên Ubuntu?
- 6. Trình biên dịch/trình biên dịch/trình biên dịch C++
- 7. Lỗi khi biên dịch gcc 4.6.2 dưới ubuntu 11.10
- 8. Thay đổi Trình biên dịch Mặc định Trong Emacs?
- 9. Biên dịch chống lại libusb-dev trên Ubuntu
- 10. biên dịch C++ thành chương trình "thực"
- 11. Cách biên dịch/cài đặt node.js (không thể cấu hình trình biên dịch cxx!) (Ubuntu).
- 12. Làm cách nào để thêm hỗ trợ C++ 11 vào trình biên dịch Mã :: Blocks?
- 13. Trình biên dịch C ??) thay thế
- 14. Làm cách nào để bật C++ 11 trong gcc?
- 15. Không thể biên dịch C++ với gcc
- 16. C89 vs c99 Trình biên dịch GCC
- 17. là có một trình biên dịch GCC/linker tùy chọn để thay đổi tên của chính?
- 18. Có cách nào để thay đổi tùy chọn biên dịch gcc cho đá quý không?
- 19. Làm cách nào để biên dịch thư viện trên C bằng GCC?
- 20. Không có trình biên dịch C trên EC2?
- 21. Biên dịch mã OpenMP thành mã C
- 22. Biên dịch C# thành Gốc?
- 23. Trình biên dịch biên dịch trong C#
- 24. Biên dịch openmp thành pthreads Mã C
- 25. Làm cách nào để thay đổi trình biên dịch mặc định?
- 26. Biên dịch C++ cho các phiên bản Ubuntu khác nhau
- 27. Cuộn cảm trình biên dịch C cũ trên #ifndef #define
- 28. Có thể sử dụng tăng tốc GPU khi biên dịch nhiều chương trình trên trình biên dịch gcc không?
- 29. SCons/Doom lỗi 3 biên dịch trên ubuntu
- 30. Trình biên dịch C dành cho Windows?
'g ++ -std = C++ 11' hoặc nếu đó không work, 'g ++ -std = C++ 0x' – jxh
Bạn luôn có thể cài đặt phiên bản GCC khác cùng với phiên bản hệ thống. Bạn thậm chí có thể biên dịch một phiên bản khác của riêng bạn. Có nhiều hướng dẫn trong mạng - chỉ cần sử dụng công cụ tìm kiếm ưa thích của bạn. GCC thường hậu tố các tệp thi hành của nó với số phiên bản và cũng cài đặt các thư viện cụ thể trong các thư mục được phiên bản để các phiên bản mới hơn sẽ không đụng độ với các phiên bản do hệ thống cung cấp. –