java - NDK 找不到标准 C++ 库

标签 java android android-ndk

我正在尝试为 android 编译 native 程序。

但是当运行 ndk-build 命令时,我得到了以下结果。

/home/marcos/dev/workspace/rmsdk.native.wraper/jni/include-all/uft_alloc.h:26:21: error: stdexcept: No such file or directory
/home/marcos/dev/workspace/rmsdk.native.wraper/jni/include-all/uft_alloc.h:27:18: error: limits: No such file or directory

stdexcept 和 limits 是标准 C++ 库的一部分。

这是我的Android.mk

LOCAL_PATH := $(call my-dir)
MY_PATH := $(LOCAL_PATH)
include $(call all-subdir-makefiles)
LOCAL_PATH := $(MY_PATH)
include $(CLEAR_VARS)

LOCAL_LDLIBS := -llog
LOCAL_MODULE    := rmsdk
LOCAL_SRC_FILES := curlnetprovider.cpp RMServices.cpp  
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include-all
LOCAL_STATIC_LIBRARIES := adept cryptopenssl curl dp expat fonts hobbes jpeg mschema png t3 xml zlib

include $(BUILD_SHARED_LIBRARY)

我应该明确说明它是 C++ 源代码吗?

最佳答案

在 Application.mk 中(如果不存在,请创建它)添加以下行:

APP_STL := stlport_static

您现在可以使用 STL。

关于java - NDK 找不到标准 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4617368/

相关文章:

java - 如何从库项目部署 Jar

java - 如何使用eclipse创建jar文件

java - 如何将Listview添加到Listview Android Studio中

android - 在 Android 上使用 NDK 的位图无限制堆内存库

java - 通过 ASM 跟踪方法依赖关系

java - 使用 Selenium WebDriver Java 绑定(bind)清除浏览器 Cookie

java - 如何在 handleMessage 中使用类局部非静态变量时使 android 句柄静态

android - 如何在 htmlcleaner 或 jSoup 中提取标签内的文本

Android NDK 标准头文件编译错误

android - 在 Android 上使用 OpenSL 混合音效