2014-03-06 43 views
1

我正在使用Eclipse ADT和Android NDK,並且我在字符串,向量和其他C++變量中遇到了很多未解決的問題。查找包含在Eclipse中的C++頭文件ADT

這是一個全新安裝(ADT),我已經安裝了VS2012。我遵循了步驟here並瞭解必須完成的工作,但我認爲這個「find」命令不適用於Windows,而適用於Linux。

如何在Windows中找到這些缺少的標題以包含在Eclipse的C++符號和路徑中?

編輯:我收到未解決的C代碼中的字符串,向量和其他變量的錯誤。該項目生成的控制檯標籤中顯示的正確,但我不能運行它,因爲它說我的項目包含錯誤。截圖:

enter image description here

編輯2:我已經添加了\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++文件夾,而不是在\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\include項目 - >屬性 - > C/C++通用>路徑和符號和至少字符串是現在解決了,只留下載體未解決......這是解決此問題的「正確」方法嗎?

我慢慢加入源文件和編譯檢查錯誤,並仍然有很多其他的頭,我使用除了<string><vector>的...

FIXED:here,最後的答案。我加了#include <stl/_vector.h>,問題就消失了。然後,我刪除了這條線,並把舊的#include <vector>一個,現在它不再標記爲錯誤...嘆了口氣。標記爲重複...

+0

是什麼讓你認爲Windows運行時庫可以在Android下運行?如果它是STL的'string','vector'等,那麼它們就存在於NDK自己的包含目錄中。 –

+0

@SevaAlekseyev就是這些,雖然NDK文件夾已經包含在符號和路徑中,但我仍然收到這個錯誤。我已經在帖子中嘗試了所有3個修復(更改工具鏈等),但仍未解決問題。 – Danicco

+0

編譯錯誤或Eclipse突出顯示#include行?後者是良性的;只要它編譯。你寫'使用命名空間std;'?無論如何,插入Visual Studio的文件不是答案。 –

回答

0

不禁注意到您使用stringvector而沒有限定命名空間(即std)。我也看不到using namespace std;聲明。

因此,要麼與std::string替換string,或插入一個using...以上類定義。

+0

'使用命名空間std'是代碼中的前三行。 SS正好在'string'類型被標記爲未解析的中間。 '#include '和'using namespace std' lines不會標記爲錯誤。 – Danicco

+0

嘗試清潔和重建。有時陳舊的錯誤仍然存​​在於問題窗口中。 –