我搜索了如何在android ndk中使用to_string()。经过长时间搜索后,我从link更改为Application.mk文件。而且cpp源代码只能从终端进行编译和正确构建。
Terminal output :
> ndk-build
Android NDK: WARNING: APP_PLATFORM android-21 is larger than android:minSdkVersion 9 in
/<some path>/Android/Exercise01/AndroidManifest.xml
[armeabi-v7a] Install : libndkfoo.so => libs/armeabi/libndkfoo.so
但是在ecplise IDE中,由于“功能'to_string'无法解析”,我仍然遇到错误。所以从IDE中我无法运行android应用程序。 (注意:在使用std::to_string之前,源代码已正确编译)
我试图包括以下头文件(在项目属性-> C/C++常规->路径和符号-> GNU C++下)
来自//android-ndk-r10d/sources/cxx-STL/gnu-libstdc++/4.9/include/ext的vstring.h
和
来自//android-ndk-r10d/sources/cxx-STL/gnu-libstdc++/4.9/include/bits的basic_string.h
但是没有运气。
Androi.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
TARGET_PLATFORM := android-21
TARGET_ARCH_ABI := armeabi-v7a
TARGET_ABI := android-21-armeabi-v7a # concatenation of above two variables
# Here we give our module name and source file(s)
LOCAL_MODULE := ndkfoo
LOCAL_C_INCLUDES := $(LOCAL_PATH)/header
LOCAL_SRC_FILES := src/NativeFunction.cpp src/clsArithmeticParser.cpp
include $(BUILD_SHARED_LIBRARY)
Application.mk
#APP_STL := stlport_static
APP_STL:=c++_static
我知道,我在犯一些小错误,但是很长一段时间都找不到。任何解决方案/建议表示赞赏。
编辑:
我只能在以下技巧中通过Eclipse使用std::to_string和std::stoll。这些可以在极少数情况下帮助某些人。因此,添加这一点以通过Eclipse IDE测试对c++ 11的支持。仅在打开源文件或头文件时显示该错误。只需关闭开源文件文档(.h,.c,.cpp)。关闭并重新打开 eclipse 。现在可以编译并通过android仿真器运行了。
最佳答案
您使用什么版本的Eclipse IDE?尝试更新到最新的Mars版本,这可能会解决您的问题。
关于eclipse - Android NDK源代码已编译并成功构建-但是在Eclipse IDE中无法解析函数 'to_string',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36158843/