版权所有, 禁止转载, 如有需要, 请站内联系.
本文地址: http://blog.csdn.net/caroline_wendy/article/details/14073511
1. 缺少"#include<sstream>", 而使用istringstream会报错
错误: "error: variable ‘std::istringstream stream’ has initializer but incomplete type"
2. 使用unordered_map, 需要添加头文件"#include <tr1/unordered_map>",
使用方法: std::tr1::unordered_map<std::string, size_t> word_count({"hello", 1});
错误: "Symbol 'unordered_map' could not be resolved"
参考: http://stackoverflow.com/questions/13766364/cdt-indexer-cannot-find-stdunordered-map
3. cmd输入"gcc /"显示gcc的位置, 有可能是其他位置, 则检查系统的环境变量, 并进行修改;
例如: perl的程序会自带gcc, 并写入环境变量, 导致gcc的版本过低, 不是最新安装的gcc.
"gcc --version"是显示gcc的版本号 4.8.1, GCC4.8.1已经完全支持C++11, 即使CDT无法提示, 也包含此功能.
4. Eclipse CDT的无法检查出智能指针(smart pointer)和cbegin&cend等, 但可以使用;编辑器中会报错, 但可以执行, 并输出结果.
改正方法: 把mingw文件复制到eclipse根目录, 把需要的添加进include:
如添加: D:\MinGW\lib\gcc\mingw32\4.8.1\include\c++\bits 即可.
可以修改CDT的代码分析(code analysis)进行屏蔽, 位置: Project -> Properties -> C/C++ General -> Code Analysis;
在选择"Using Project Setting"下面的"Syntax and Semantic Errors", 进行屏蔽, 如图:
5. Eclipse CDT 设置字体: Window -> Preferences -> General -> Appearance -> Colors and Fonts: Basic -> Text...
把两个text都改为喜欢的字体和大小, 如微软雅黑 11;