【发布时间】:2011-06-21 01:46:03
【问题描述】:
当我尝试在我的 Android NDK 项目(使用最新的 NDK r5b)中包含任何 C++ 类(如 vector)时,我收到如下错误...
Compile++ thumb : test-libstl <= test-libstl.cpp
/Users/nitrex88/Desktop/Programming/EclipseProjects/STLTest/jni/test-libstl.cpp:3:18: error: vector: No such file or directory
其他在线报告此问题的人通过添加声称成功
APP_STL := stlport_static
到他们的 Application.mk 文件。我已经这样做了,并尝试了 APP_STL 的所有其他可能值。我已经清理到项目,运行 ndk-build clean,删除了 obj 和 libs 文件夹,但当我编译它时仍然找不到向量类。我已经为此工作了好几个星期(自从 NDK r5 出现以来),如果有人有任何建议,我将不胜感激。谢谢!
【问题讨论】:
-
首先,检查 android-ndk-r5\build\platforms\android-
X\arch-arm\usr\include 目录 -vector真的存在吗? -
不,不是!除了使用 JNI 和编译源代码之外,我不太了解 NDK 的工作原理。我怎样才能让矢量在那里?如果这意味着什么,我确实在 android-ndk-r5b/sources/cxx-stl/stlport/stlport 中看到了向量。感谢您的快速回复,非常感谢!
-
@seva 所以我尝试运行一堆工具来重建工具链和预构建(NDK 的工具文件夹中的 .sh 文件),但仍然无法使 STL 标头工作。如果我从 android 站点下载新的 NDK,难道不应该一切正常吗?我试过了,新下载并没有改变任何东西。对您可以提供的问题有更多见解吗?
-
[这是我配置 STLPort 以与 Android Froyo 一起使用的方式。][1] [1]:stackoverflow.com/questions/1650963/ustl-or-stlport-for-android
-
[这就是我配置 STLPort 以使用 Android Froyo 的方式。][1] [1]: stackoverflow.com/questions/1650963/ustl-or-stlport-for-android
标签: android stl vector android-ndk