带有CDT的Eclipse 3.7.0 Indigo显示了许多错误的编译错误

zon*_*too 21 c++ eclipse eclipse-cdt

我已将我的Ubuntu框更新为11.10,然后Eclipse也已更新为3.7.0 Indigo with CDT 8.0.1

然后出现以下问题:

Eclipse错误

我已经包含了矢量头文件,但编译器说Symbol 'vector' could not be resolved.我也定义了#define int Comparable,但Eclipse也说了Symbol 'Comparable' could not be resolved等等....

虽然发生了很多错误,但编译成功完成!

我曾尝试使用g ++编译代码,它没有问题.

Cat*_*kul 8

问题是索引器的角度中缺少一堆包含目录.

添加以下内容对我有用,但可能取决于您实际存在的特定设置:

/usr/include/c++/4.6.1
/usr/include/                
/usr/include/c++             
/usr/include/c++/4.6         
/usr/include/x86_64-linux-gnu
/usr/include/asm-generic
/usr/include/c++/4.6.1/x86_64-linux-gnu/
Run Code Online (Sandbox Code Playgroud)

它们可以放入 Project>Properties>C++ Include Paths

据推测,在未来,CDT的平台专业化将自动包含这些.我记得在某处读过,但无法提供参考.


Mat*_*teo 5

Eclipse,VM或计算机崩溃或者甚至长达几个月的开发一次又一次地开始削弱Eclipse存储所有内容的工作空间的稳定性.

检查<workspace dir>\.metadata目录以了解Eclipse在工作区中生成和存储的数量.每次添加插件时,升级插件,删除放置和更改工作区中信息的插件.

一个证明就是这个问题通常在升级Eclipse之后才出现.(就我的情况来说是Indigo).

修复尘土工作区的最简单方法是使用-cleaneclipse.exe可执行文件的命令行参数.

Eclipse帮助文档告诉我们这个命令的作用:

如果设置为"true",则OSGi框架和eclipse运行时使用的任何缓存数据都将被清除.这将清除用于存储bundle依赖项解析和eclipse扩展注册表数据的缓存.使用此选项将强制eclipse重新初始化这些缓存.

有三种方法可以使用-clean命令行参数:

  1. 编辑位于您的eclipse.ini文件,并将其添加为第一行的第一个参数.
  2. 编辑用于启动Eclipse的快捷方式,并将其添加为第一个参数.
  3. 创建一个使用-clean参数调用Eclipse可执行文件的批处理脚本或shell脚本.

步骤3的优点是您可以保留脚本并在每次要清理工作区时使用它.

这个页面解决了我的问题!希望它可以帮助其他人.