【发布时间】: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 的
string、vector等,它们都存在于 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