如何使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