Code::Blocks如何支持C++11特性

为了给同事分享C++11标准,需要一个演示C++11的编程环境。VS2013太大,安装起来不太方便。由于电脑上之前有安装codeblock,于是升级MinGW。去MinGW官网http://www.mingw.org/上去下载一个安装程序,安装完成后,打开安装管理器MinGW Installer,把Basci Setup里边的全都安装完。然后设置windows里的环境变量,打开codeblock的配置,配置编译器和调试环境。如下图。

Code::Blocks如何支持C++11特性

然后创建一个C++工程,编译。代码如下:  auto是C++11中的关键字,用来检测编译器是否支持C++11标准。

#include <iostream>

using namespace std;

int main()
{
    auto xx = 12;
    cout << "Hello world!" << endl;
    return 0;
}

 居然编译不过,Execution of 'mingw32-g++.exe -Wall -g -c  Failed。仔细研究了下,发现MinGW安装路径bin里没有mingw32-g++.exe 。但是安装管理器MinGW Installation Manager里显示是安装过的,还是尝试着把gc++再安装一遍,居然安装失败。只好自己去下载g++相关的文件安装了。根据安装管理器的里g++相关的信息,Google一下。

Code::Blocks如何支持C++11特性

在这个链接:http://www.mingw.org/aggregator/sources/2?page=3 下找到了需要下载的文件,下载后解压(WinRAR解压不了,需要下载7zip),把对应的文件拷贝到 MinGWbin里,然后在CodeBlock里编译,倒是能编译了,但是有错误,在auto那一行提示“ does not name a type”。看来没有支持到C++11标准。按照资料所说,GCC 4.8.2就很好的支持C++11了,我这里的GCC是4.9.1版本了,应该会支持到C++11。还是Google吧,有人说要加`-std=c++11` 或者 `-std=c++0x` 在变量列表。或者调用g++编译时带上C++11相关参数‘g++ -std=c++11 decdef.cpp -o decdef’。这样一来就有点扯淡了,CodeBlock里来这一套很不方便还别扭。最终在setting - compiler and debugger- compiler setting - compiler Flag - All categories里找到一个C++11相关的选项,如图:

Code::Blocks如何支持C++11特性

到此成功!

 

原文链接: https://www.cnblogs.com/guolixiucai/p/5370243.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Code::Blocks如何支持C++11特性

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/231583

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午3:05
下一篇 2023年2月13日 下午3:05

相关推荐