系统相关
首页 > 系统相关> > 如何使Eclipse CDT的Linux GCC工具链解析C标准库头?

如何使Eclipse CDT的Linux GCC工具链解析C标准库头?

作者:互联网

在Ubuntu 12.04 LTS中,我安装了Eclipse CDT插件并打开了新的hello world项目来测试所有内容.当我创建项目时,我选择了唯一的工具链:“Linux GCC”

然而,当项目被创建时,它说明了这一点

#include<iostream>
#include<cstdlb>

尚未解决.因此,不能使用具有cout和endl的行,并且它找不到std.

using namespace std;也造成了问题.

如何识别标准库头的#include指令,以支持使用std命名空间的代码?

解决方法:

如果您遇到了同样的问题,我怀疑您的项目是否已构建但代码完成/代码突出显示失败?我刚刚发现了一些可能有用的注释.这是我做的:

>项目 – >属性
> 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

TBH,我不认为上面的所有目录都是实际需要的(你可以删除’bits’目录),但上面的列表对我来说很有用.

我现在正在使用eclipse.org上的Eclipse Indigo(版本3.7.2),它会自动查找并添加正确的include目录.这个列表对我来说不同:

/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

显然,只添加系统中实际存在的include目录;-)

标签:c-3,c,eclipse,eclipse-cdt
来源: https://codeday.me/bug/20190808/1618315.html