Enable C++11 in gcc

本文介绍了一个简单的C++项目Makefile配置示例,包括如何使用GCC编译器和GFLAGS进行编译选项设置,如-Wall、-g、-std=c++11等,并展示了源文件到可执行文件的构建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. g++ -std=c++11 main.cpp

2. makefile

GCC=g++
GFLAGS=-Wall -g -std=c++11 -O3 -DNDEBUG -w

SRC=./*.cpp

OUT= test.out

g:
    $(GCC) $(GFLAGS) $(SRC) -o $(OUT)

clean:
    rm -rf $(OUT) ./*~ ./*.o


<think>好的,用户想知道哪些GCC版本支持C++14。我需要先回忆一下GCC的版本历史。记得C++14标准是在2014年发布的,GCC应该是在某个版本开始支持的。可能需要查看每个GCC版本的更新说明。 根据引用[4]提到,Clang 3.4完全支持C++14,并且当时领先于GCC。这说明GCC可能是在稍后的版本中加入了对C++14的完整支持。另外,引用[1]提到GCC实现了C++14的所有更改,但具体版本需要查证。 通常,GCC从5.1版本开始默认启用C++14支持。在之前的版本如4.8或4.9可能通过-std=c++1y选项来支持实验性的功能,但完整支持应该是在5.1之后。需要确认这一点是否正确,避免提供错误信息。 另外,用户可能想知道如何检查自己的GCC版本是否支持C++14,以及如何编译时指定标准。引用[3]和[2]提到了使用特定版本的GCC进行编译的方法,可以引用这些信息来帮助用户。 总结:GCC 4.8.1及以上版本支持C++14,但需要指定-std=c++14或-std=c++1y(在更早版本中)。完整支持是从GCC 5.1开始默认启用。需要确保回答准确,并引用相关参考资料。</think>根据GCC的版本更新记录,支持C++14标准的GCC版本及相关信息如下: ### 一、GCCC++14的支持情况 1. **实验性支持阶段** - **GCC 4.8.1**(2013年5月)首次提供部分C++14特性支持,需通过编译选项`-std=c++1y`启用实验性功能[^1][^4]。 - **GCC 4.9**(2014年4月)进一步完善了C++14特性,但仍需手动启用`-std=c++1y`。 2. **完整支持阶段** - **GCC 5.1**(2015年4月)开始默认支持C++14标准,编译时可直接使用`-std=c++14`选项[^1]。 - 后续版本(如GCC 6、7、8等)持续优化C++14的实现,并默认兼容该标准。 ### 二、验证与使用 1. **检查当前GCC版本** 通过以下命令查看已安装的GCC版本: ```bash g++ --version ``` 若版本号≥5.1,则默认支持C++14[^2]。 2. **编译时指定标准** - 对于GCC 4.8.1~5.0版本: ```bash g++ -std=c++1y your_code.cpp -o output ``` - 对于GCC 5.1及以上版本: ```bash g++ -std=c++14 your_code.cpp -o output ``` 3. **升级GCC的方法** 若系统预装版本过低,可通过`devtoolset`工具链升级(如CentOS/RHEL): ```bash scl enable devtoolset-12 'g++ -std=c++14 your_code.cpp' # 使用GCC 12版本[^3] ``` ### 三、与其他编译器的对比 Clang编译器从**Clang 3.4**(2014年)起完全支持C++14,其实现进度曾领先于GCC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值