linux下编译c++程序遇到 error: ‘thread’ is not a member of ‘std’的错误

今天用c++写了一个socket网络编程,用 g++ client.c -o client  命令编译时出现“client.c:69:5: error: ‘thread’ is not a member of ‘std’

     std::thread(RMsg).detach();”  的错误,在网上搜索该错误原因,看到了一个外国论坛上老外给出的答案:" To get g++ into C++11(or C++0x) mode, you have to add the command-line parameter    -std=c++0x  on versions <=4.6 ,  nowadays you can also use   -std=c++11 ."

按照此方法在g++ client.c -o client 命令后面加上-std=c++11,最终编译成功。

原来不加参数-std=c++11编译之所以会出现错误,是GCC/G++默认的-std(即C++语言标准)不是C++11,是C++98,要用C++11标准,需要显式开启,添加-std=c++11参数来显示开启。

C++98、C++11中的数字代表年份,前者为1998年制定的标准,后者则为2011年制定的标准,显然C++11较为新。

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值