2014-03-06 42 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

尝试清洁和重建。有时陈旧的错误仍然存​​在于问题窗口中。 –