如何让你的Sublime和Codeblocks支持C++11

闲来没事看了一下C++11,比起C++0x多了很多新功能,像auto变量,智能指针等,g++4.7以上版本也提供了对C++11的支持,但是,如何在你的编辑器上执行C++11代码呢?

刚开始以为用法和以前的版本一样,于是写了个C++11的小代码:

完事后一编译发现不对,于是又手工调用g++编译了一下:

g++ -o test2 test2.cpp

 

发现还是不对。

百度了一下才发现原来编译C++11不同于C++0x,要加一个编译选项-std=c++11 : 

g++ -std=c++11 -o test2 test2.cpp

编译顺利通过!!!

可是,如何将这个编译选项应用到IDE上呢?

我常用的编辑器是Codeblocks和Sublime

找了一下,其实Codeblocks的设置蛮简单的:

Setting->Compiler

直接在“Have g++ follow the C++11 ISO C++ language standard [-std=c++11]” 选项上打勾 保存就可以了

Sunlime的配置则比较麻烦一些:

Tools->Build System->New Build System...

然后把下面的代码粘贴到新打开的文件中:

 1 {
 2      "cmd": ["g++", "-std=c++11", "${file}", "-o", "${file_path}/${file_base_name}"], // For GCC On Windows and Linux
 3      //"cmd": ["CL", "/Fo${file_base_name}", "/O2", "${file}"],     // For CL on Windows Only
 4      "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
 5      "working_dir": "${file_path}",
 6      "selector": "source.c, source.c++",
 7 
 8      "variants":
 9      [
10           {
11                "name": "Run",
12                //"cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]  // Linux Only
13                "cmd": ["CMD", "/U", "/C", "g++ -std=c++11 ${file} -o ${file_base_name} && ${file_base_name}"]  // For GCC On Windows Only
14                //"cmd": ["CMD", "/U", "/C", "CL /Fo${file_base_name} /O2 ${file} && ${file_base_name}"]   // For CL On Windows Only
15           }
16      ]
17 }

然后保存,在保存文件对话框中把文件名字改成“C++11.sublime-build” 保存即可

然后选择Tools->Build System->C++11

这时你的Sublime Text就是一个完美的支持C++11的编辑器了!

Chierush原创,转载请注明地址:http://www.cnblogs.com/Chierush/

posted @ 2013-09-12 21:34  Chierush  阅读(8360)  评论(2编辑  收藏  举报