【发布时间】:2014-07-04 14:50:42
【问题描述】:
我正在开发一个 Android NDK 项目,在该项目中我必须使用需要 c++ 头文件的功能,例如 iostream 、 sstream 等。我已经在 linux 中通过在 C++ Paths & Symbols 选项卡中添加 /usr/include/c++/4.7.. 来做到这一点。但仍然找不到在 Mac 中执行此操作的方法。我尝试了以下方法:
我只是简单地包含了 iostream 标头
#include<iostream>,它在使用 ndk-build 构建时显示以下错误,fatal error: iostream: No such file or directory在
C++ Paths and Symbols->Includes tab->cpp中添加了android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.8/include,它不会改变任何东西。-
在我的 Android.mk 文件中,
LOCAL_C_INCLUDES := android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.8/include它给出了以下错误:
致命错误:bits/c++config.h:没有这样的文件或目录
我也尝试在 Android.mk 文件中添加预构建的共享库,这给出了同样的错误。
然后搜索文件
bits/c++config.h,将其复制到它正在寻找的实际位置,它显示与osdefines.h相同的错误,我已经复制了它正在寻找的所有文件,最后它要求bits/memoryfwd.h,但我在 Mac 的任何地方都找不到该文件。
这里的实际问题是什么?我应该怎么做才能在我的 Android NDK 项目的 cpp 文件中包含这些标头?
【问题讨论】:
-
你试过this解决方案吗?
-
@AlexCohn 谢谢,我也试过了,没有任何改变。你知道如何在 mac 中找到 gcc 或 c++(mac 中的默认值)的实际包含目录的路径吗? , 如果我能得到我能解决这个问题的路径,希望如此。
-
你可以运行
ndk-build V=1 -
尝试在你的Application.mk中设置
APP_STL := gnustl_static -
<functional>标头也有同样的问题。
标签: android android-ndk java-native-interface eclipse-adt ndk-build