【问题标题】:Trouble finding C++ headers to include in Eclipse ADT无法找到要包含在 Eclipse ADT 中的 C++ 头文件
【发布时间】:2014-03-06 15:59:36
【问题描述】:

我正在将 Eclipse ADT 与 Android NDK 一起使用,但我在字符串、向量和其他 C++ 变量中遇到了很多未解决的问题。

这是全新安装 (ADT),我已经安装了 VS2012。我已经按照here 的步骤进行了操作,并且了解必须做什么,但我认为这个“查找”命令不适用于 Windows,而是适用于 Linux。

如何在 Windows 中找到这些缺失的标头以包含在 Eclipse 的 C++ 符号和路径中?

编辑: 我在 C 代码中的字符串、向量和其他变量中遇到未解决的错误。该项目构建良好,如“控制台”选项卡中所示,但我无法运行它,因为它说我的项目包含错误。截图:

编辑 2:我在 Project->Properties->C/C++ General->Paths and Symbols 中添加了 \android-ndk-r9c\sources\cxx-stl\gnu-libstdc++ 文件夹而不是 \android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\include > 现在至少字符串已被解析,只留下未解析的向量...这是解决此问题的“正确”方法吗?

我正在慢慢添加源文件并编译以检查错误,除了<string><vector> 之外,我还在使用许多其他头文件...

已修复:来自here,最后一个答案。我添加了#include <stl/_vector.h>,问题就消失了。然后我删除了这一行并把旧的#include <vector> 放了一个,现在它不再标记为错误了......叹息。将此标记为重复...

【问题讨论】:

  • 是什么让您认为 Windows 运行时库可以在 Android 下运行?如果是 STL 的 stringvector 等,它们都存在于 NDK 自己的包含目录中。
  • @SevaAlekseyev 正是这些,虽然 NDK 文件夹已包含在符号和路径中,但我仍然收到此错误。我已经尝试了帖子中的所有 3 个修复(更改工具链等),但仍然没有解决问题。
  • 编译错误或 Eclipse 突出显示 #include 行?后者是良性的;只要它编译。你写using namespace std;了吗?无论如何,插入 Visual Studio 的文件不是答案。
  • @SevaAlekseyev 它似乎构建良好(Ctrl B 没有显示任何错误),但我无法点击运行,它显示错误消息“您的项目有错误,在运行前修复它们”。它不仅突出了#include,而且还对所有“字符串”、“向量”等进行了错误排列。编辑:我也是using namespace std,甚至尝试过std::string
  • 构建错误出现在控制台视图和问题视图中。你检查了吗?

标签: android c++ eclipse android-ndk


【解决方案1】:

不禁注意到您使用stringvector 时没有限定命名空间(即std)。我也看不到using namespace std; 声明。

因此,要么将string 替换为std::string,要么在类定义上方插入using...

【讨论】:

  • using namespace std 位于代码的前 3 行中。 SS 就在中间,string 类型被标记为未解析。 #include <string>using namespace std 行不会标记为错误。
  • 尝试清理并重建。有时,问题窗口中仍然存在陈旧的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-19
  • 1970-01-01
  • 2012-01-18
  • 2017-09-04
  • 1970-01-01
  • 1970-01-01
  • 2016-05-17
相关资源
最近更新 更多