linux下eclipse编译C++ 11版本
最近在linux系统下面,使用eclipse编写了一些简单的C++程序,但是遇到了一个编译的问题。在这里整理一下,或许可以帮到和我有着相同困扰的人。编译的时候,由于C++不同版本的方法不同,导致一个正确的语句无法编译过去,提示错误为:解决办法分两步:第一步:Project->Properties->C++ General->Pahts and Symbols
最近在linux系统下面,使用eclipse编写了一些简单的C++程序,但是遇到了一个编译的问题。在这里整理一下,或许可以帮到和我有着相同困扰的人。
编译的时候,由于C++不同版本的方法不同,导致一个正确的语句无法编译过去,提示错误就是函数变量类型不符合。
点击头文件查看后发现,C++头文件判断了文件版本,即通过:
#if __cplusplus >= 201103L
来引入不同的函数,因此找了一下解决方案,在参考了 http://www.itnose.net/detail/6090255.html 与 http://m.blog.csdn.net/blog/luochenhuan123/17440607 两个网页后,得出如下解决方法。
解决办法分两步:
第一步:
Project->Properties->C++ General->Pahts and Symbols->Symbols(选项卡)
增加 __cplusplus Symbol 然后设置值为201103L (注意,这里的cplusplus前面时两条横线)
如图:
第二步:
Project->Properties->C/C++ Build > Settings > GCC C++ Compiler > Miscellaneous > other flages ,在原来的基础上添加上 -std=c++11
对于GCC C compiler, 相似的添加-std=gnu++11
如图:
那么这样子之后,再编译程序,就能够编译通过运行了
更多推荐
所有评论(0)