我正在使用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