一个统计行数的程序,我用的是clion,没有结果,但是同学的编译器可以输出来,求告知为什么
#include<stdio.h>intmain(){intnum=0;charc;while((c=getchar())!=EOF)if(c=='\n')++num;p...
#include<stdio.h>
int main()
{
int num = 0;
char c;
while ((c = getchar()) != EOF)
if(c == '\n')
++num;
printf("%d\n",num);
} 展开
int main()
{
int num = 0;
char c;
while ((c = getchar()) != EOF)
if(c == '\n')
++num;
printf("%d\n",num);
} 展开
展开全部
CentOS 6.5平台默认安装的GCC版本为4.4,在CentOS
6.5平台上使用CLion编译C++程序时会提示”识别不出命令行参数std:c++11"的问题。
出现这个问题的原因是CLion使用GCC编译C、C++程序,从GCC 4.8版本后GCC才开始支持C++11,系统默认安装的4.4版本不支持C++11导致此问题。
解决方法有两个:
一、将CMakeLists.txt中“std:c++11”修改为“std:c++0x”,即放弃支持C++11标准。
二、升级系统的GCC版本,升级到4.8或更高版本。升级GCC的方法、步骤见本博客《CentOS 6.5下升级GCC编译器到4.9.1版本的方法、步骤》。
通常新版GCC会安装到/usr/local/GCC 4.8.*目录下。此时系统中存在两个版本的GCC,为确保CLion能够使用高版本的GCC编译程序,还需做如下操作:
rm -rf /usr/bin/gcc
rm -rf /usr/bin/c++
创建新的链接文件,将gcc 及C++链接到高版本的GCC文件。
ln -s /usr/local/GCC 4.9.1/bin/gcc gcc
ln -s/usr/local/GCC 4.9.1/bin/c++ c++
在命令行中输入gcc -v,检查是否识别的是高版本的gcc,显示GCC 4.9.1则成功。
此时再CLion中再次编译会提示成功。
6.5平台上使用CLion编译C++程序时会提示”识别不出命令行参数std:c++11"的问题。
出现这个问题的原因是CLion使用GCC编译C、C++程序,从GCC 4.8版本后GCC才开始支持C++11,系统默认安装的4.4版本不支持C++11导致此问题。
解决方法有两个:
一、将CMakeLists.txt中“std:c++11”修改为“std:c++0x”,即放弃支持C++11标准。
二、升级系统的GCC版本,升级到4.8或更高版本。升级GCC的方法、步骤见本博客《CentOS 6.5下升级GCC编译器到4.9.1版本的方法、步骤》。
通常新版GCC会安装到/usr/local/GCC 4.8.*目录下。此时系统中存在两个版本的GCC,为确保CLion能够使用高版本的GCC编译程序,还需做如下操作:
rm -rf /usr/bin/gcc
rm -rf /usr/bin/c++
创建新的链接文件,将gcc 及C++链接到高版本的GCC文件。
ln -s /usr/local/GCC 4.9.1/bin/gcc gcc
ln -s/usr/local/GCC 4.9.1/bin/c++ c++
在命令行中输入gcc -v,检查是否识别的是高版本的gcc,显示GCC 4.9.1则成功。
此时再CLion中再次编译会提示成功。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询