脱蜡Eclip下C++标准库报错::mbstate_thasnotbeendeclared人像摄影培训
time flies 在使⽤Eclip开发嵌⼊式软件过程中,包含<iostream>后⽴即报错,仅仅去掉包含命令后没有任何错误和警告,编译错误信息如下图所⽰:linebreak
回复邮件 ⾸先要说明的是,⼯程代码没有任何错误,因为通过错误信息可以看出,出错的位置都是系统的头⽂件。查阅资料后知道,出现此类错误是由于GCC的C语⾔扩展与C标准产⽣了冲突。
yinkeji 寻找出错的原因:进⼊到⼯程⽬录下,在debug⽬录下Eclispe已经⾃动⽣成了Makefile,在终端上进⼊此⽬录,输⼊make命令,得到编译输出的更相信的信息,在第⼀个出错的信息中可以看到编译器给出了错误提⽰和解决⽅法:”and must be enabled with the -std=gnu++0x complier options.“, 如下图所⽰:
变量英文 因此,在⼯程名上右键单击,选择Properties->C/C++ Build->Setting->Tool Setting,依次选择三个编译器和链接器,在Command Line pattern中最后添加-std=gnu++0x,
b s
cult of personality 这⾥-std=意思是选择C语⾔编译标准,此处选择了是C++语⾔GNU编译标准。再次⽤Eclip编译⼯程,可发现没有任何错误。
regard