我正在使用Linux的Eclipse来开发C++应用程序,我得到这个编辑注释错误从下面的代码行“符号‘矢量’无法解析”错误,符号“向量”无法解析
std::vector<unsigned char> buffer;
我觉得某些库缺失或者路径没有设置。我明确下载了STL,但没用。我需要在我的linux上重新安装GCC吗?
我正在使用Linux的Eclipse来开发C++应用程序,我得到这个编辑注释错误从下面的代码行“符号‘矢量’无法解析”错误,符号“向量”无法解析
std::vector<unsigned char> buffer;
我觉得某些库缺失或者路径没有设置。我明确下载了STL,但没用。我需要在我的linux上重新安装GCC吗?
#include<vector>
应该包含在顶部。
这也不起作用 –
#include <vector>
此外,性病::向量是模板类型,所以你必须使用像
std::vector<char> buffer;
我觉得有些库丢失或路径没有设置。
是的,这听起来像一个链接器错误。 Linkers处理符号。
我明确下载了STL,但没用。
希望你的意思是libstdC++,GNU的C++标准库实现,你可能不应该这样做。您的工具链附带了正确的stdlib实现。
我需要在我的linux上重新安装GCC吗?
大概是明智的。让这个安装处理标准库。另外,关于你正在玩你的编译命令行的机会,请记住调用g++
而不是gcc
; g++
自动链接在C++运行时和stdlib实现中,而gcc
是为C设计的。
@UmairZaman:恩? –
我有同样的问题。我相信问题来自于如何更新std :: autocompletion。 Eclipse应该从Path和Symbols中得到这个,但它可能会有问题。升级gcc(因此,g ++)后,我必须清理所有Eclipse设置,因为你在Linux中,它位于你的home文件夹〜/ .eclipse /下。
因此,
1)清洗〜/ .eclipse /后重新开始的Eclipse。
2)检查路径和符号(右键单击项目>常规>路径和符号)包括所有升级后的gcc和C++包含目录(向量应该在。/ gcc/version/include/C++/version /)
3)重建索引。
4)创建一个* .cpp文件,其中包含错误显示的* .h。这将迫使Eclipse回溯* .h的依赖关系。
5)根据需要重建索引和/或重新启动几次,现在我可以在std :: autocompletion的末尾看到向量。
(见图片)
希望它能帮助!
我认为这个答案是正确的。这个问题与这个其他解决的帖子有关:http://stackoverflow.com/questions/10803685/eclipse-cdt-symbol-cout-could-not-be-resolved。我用类似于@wgodoy解释的程序解决了这个问题(使用提到的帖子)。 – jespestana
创建一个*.cpp
文件,其中包含出现错误的*.h
。这将迫使Eclipse回溯*.h
的依赖关系。
为我工作...
另请参见相关问题:Eclipse CDT: Symbol 'cout' could not be resolved
我的问题是,在#include <vector>
某处有#include <bits/c++config>
具有不同的包括除路径#include <vector>
即:/usr/include/c++/4.6/x86_64-linux-gnu
add #include < vector> and using namespace性病;解决了我的问题
我知道这个问题已经解决了,但是它出现了,并且Google出现了,并且使用谷歌搜索将此页作为最高结果。
使用Eclipse的霓虹灯为Linux的我Quick Fix
解决它:
很可能你有一些系统特定的包含目录mi在您的设置中进行调用,这使得索引器无法正确分析iostream,从而导致错误。在项目的上下文菜单中选择Index -> Search
For Unresolved Includes将为您提供可以在/usr/include
中搜索的未解析包含列表,并向项目属性中的C++包含路径和符号添加目录。
在我的系统上,我不得不添加/usr/include/c++/4.6/x86_64-linux-gnu
来解决bits/c++config.h
以及更多的目录。
不要忘记在添加包含目录后重建索引(索引 - >重建)。
显然矢量属于MinGW透视图的C++标准模板库。所以除了
#include <vector>
添加
using namespace std;
头文件包含之后。
我怀疑问题是你'明确地下载了STL',这不应该是必需的,也许你在这一点上犯了一些错误。 – john
如果路径没有设置,你应该在'#include'上得到一个错误。输出中的* first *错误是什么? –
molbdnilo
您是否尝试在eclipse外部使用gcc或cc来链接包含向量的Hello World C++文件?我会给那一枪。 – Sid