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较为新。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)