在 Ubuntu 12.04 LTS 中,我安装了 Eclipse CDT 插件,并打开了新的 hello world 项目来测试所有内容。创建项目时,我选择了唯一的工具链:“Linux GCC”
然而,当项目创建时,它说
#include<iostream>
#include<cstdlb>
未解析。因此,带有cout
和 的行endl
无法使用,并且无法找到std
。
using namespace std;
也造成了问题。
如何才能让#include
标准库头文件被识别,从而支持使用std
命名空间的代码?
答案1
如果您遇到与我相同的问题,我怀疑您的项目已构建,但代码完成/代码突出显示失败?我刚刚找到了一些可能有用的注释。以下是我所做的:
项目->属性
C/C++ 通用
路径和符号
选择适当的语言
单击“添加”并添加编译器版本特定的目录
对于语言‘GNU C++’我添加了:
/usr/include
/usr/include/c++/4.6
/usr/include/c++/4.6/bits
/usr/include/i386-linux-gnu
/usr/include/i386-linux-gnu/bits
/usr/include/c++/4.6/debug
/usr/include/c++/4.6/i686-linux-gnu
/usr/include/c++/4.6/i686-linux-gnu/bits
对于“GNU C”,我添加了:
/usr/include
/usr/include/i386-linux-gnu
/usr/include/i386-linux-gnu/bits
老实说,我认为上面的所有目录实际上都不是必需的(您可能需要删除“bits”目录)但上面的列表当时对我有用。
我现在正在使用 eclipse.org 上的 Eclipse Indigo(版本 3.7.2),它会自动查找并添加正确的包含目录。对于我来说,列表有所不同:
/usr/include/c++/4.6
/usr/include/c++/4.6/i686-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/i686-linux-gnu/4.6/include
/usr/local/include
/usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
/usr/include/i386-linux-gnu
/usr/include
显然,只添加系统上实际存在的包含目录;-)