最近最项目移植,真心一个蛋疼啊。比如说吧,我在某个.h文件里面添加包含C++标准头文件:
#include <vector>
#include <map>
编译的结果是无法找到头文件,打开标准库的路径去看的时候明明就在那里,于是就去工程设置里面添加include路径,结果还是无济于事。
后来查了很久才知道,原来CDT的GCC编译C和C++混合的工程时,默认的是先进行C标准编译,于是才发现是我的编译选项设置有问题,最后在编译选项里面添加了 -x ,问题就解决了,与此同时,也解决了编译器对关键词 class 报错:
但是,后来发现 -x 这个参数是有问题的,它会导致编译时 -MMD 等参数无法识别,而导致编译无法通过;经过一段时间的折腾发现,归根究底是我的Eclipse工程设置没有添加标准C++和C头文件include的路径,添加之后就没有问题了。