gpt4 book ai didi

java - std::strtoull 在我的 JNI NDK 环境下无法识别

转载 作者:行者123 更新时间:2023-11-30 04:10:42 24 4
gpt4 key购买 nike

我使用 JNI 在 android 项目下使用一些 c++ 代码。

但它总是会发出警告:

jni/sample.cpp: In function 'int Java_com_android_mymapsforge_create(JNIEnv*, jo
bject)':
jni/sample.cpp:78:14: error: 'strtoull' is not a member of 'std'
jni/sample.cpp:78:14: note: suggested alternative:
C:/TDDOWNLOAD/adt-bundle-windows-x86_64-20130729/ndk/android-ndk-r9/platforms/an
droid-14/arch-arm/usr/include/stdlib.h:66:27: note: 'strtoull'
make: *** [obj/local/armeabi/objs/ann/sample.o] Error 1

但是如果我包含 stdlib.h,它仍然有错误提示。我的android.mk文件内容是这样的:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../

LOCAL_MODULE := libann
LOCAL_LDLIBS := -llog

NDK_TOOLCHAIN_VERSION := clang
LOCAL_CPPFLAGS += -std=c++11

LOCAL_SRC_FILES := \
ANN.cpp \
bd_pr_search.cpp \
bd_tree.cpp \
kd_pr_search.cpp \
kd_split.cpp \
kd_util.cpp \
bd_fix_rad_search.cpp \
bd_search.cpp \
brute.cpp \
kd_fix_rad_search.cpp \
kd_search.cpp \
kd_tree.cpp \
kd_dump.cpp \
perf.cpp\
sample.cpp

include $(BUILD_SHARED_LIBRARY)

而我的Application.mk是这样的:

# The ARMv7 is significanly faster due to the use of the hardware FPU
APP_ABI := armeabi armeabi-v7a
#APP_ABI := armeabi
APP_OPTIM := release
#APP_OPTIM := debug
#APP_STL := stlport_static
APP_STL := gnustl_static

每当我将 APP_STL 标志更改为 STLport_static、STLport_shared、gnuSTL_shared 时。

它仍然有错误 toast ,

有没有类似的问题?

还有一点,我的ndk版本是android-ndk-r9

最佳答案

您是否包括 <cstdlib> ?标题 <cstdlib>应该声明 std::strtoull , 而 <stdlib.h>应该声明 strtoull没有 std:: .

关于java - std::strtoull 在我的 JNI NDK 环境下无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20519115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com