由于我从Eclipse Indigo升级到Juno(在Ubuntu 12.04上),我一直遇到问题,它显示标准库的“未解决的包含”错误(例如旁边#include <iostream>
和#include <vector>
等),虽然程序生成并运行良好(使用g ++)。这只发生在使用Juno创建的新项目中,而不是Indigo的旧项目在我的工作区中。带有CDT的Eclipse Juno不会添加内置的包含目录
感谢其他几个SO问题(见下面的*),我能够追踪到问题的根源,因为项目的属性> C/C++常规>路径和符号中缺少“内置值” >包括标签:
/usr/include/c++/4.6
/usr/include/c++/4.6/x86_64-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/x86_64-linux-gnu/4.6/include
/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
存在时“显示内置值”复选框我是没有这个问题的老靛蓝项目打勾,但在我与朱诺创建新的项目不存在的。果然,如果我手动将这七个目录添加到项目设置的“包含”选项卡中,问题就会消失。但我不想为每个新创建的项目手动执行此操作。是否有这个原因不再是Juno的默认设置,并且有办法恢复它吗?
*其他SO类似问题的问题,我已经咨询,但并没有解决我的问题:
- Eclipse 3.7.0 Indigo with CDT shows many false compilation errors:我认为伊丽莎白Geréb的答案会是我的解决方案 - 在朱诺,当我创建一个新的C++项目与“项目类型”作为“GNU Autotools”下的类别之一而不是“可执行文件”,内置目录就在那里。 (在Indigo中,没有GNU Autotools类别,如果我在Indigo中将它创建为“可执行文件”下的空白或Hello World项目,那些目录就在那里,但是如果我在Juno中这样做的话,它们就不是这样了 - )然后,在“GNU Autotools”项目中,当我进入项目的Properties> C/C++ Build> Settings时,“Tool Settings”选项卡不再显示,我是无法添加GCC C++编译器的包含路径和GCC C++链接器的库,我需要这样做,因为我的许多C++项目都使用OpenCV库。
- "Unresolved inclusion" error with Eclipse CDT for C standard library headers:叫我如何添加手动include路径,而不是如何有内置的那些默认
- error , Symbol 'vector' could not be resolved补充:清洁
~/.eclipse/
和重建索引并没有帮助。 - Eclipse CDT Builtin Include Directories:发现选项设置与我的正常工作的项目相同。
- eclipse CDT 8.01 - default paths (libstdc,libstdc++) totally disappeared in 'includes' directory
- Eclipse CDT indexer lost after system update:不解决所有新项目的问题。
这样的问题也正好与其他的Eclipse版本,例如开普勒,就像你建议的那样,不仅在升级版本时,而且在其他各种情况下。 – einpoklum 2013-07-16 07:21:21
建议你接受@ languitar的答案,它为我的作品...... – einpoklum 2013-07-16 07:22:54