gpt4 book ai didi

android - 为 Android NDK 编译 C++11 源代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:45 26 4
gpt4 key购买 nike

我正在尝试在 Windows 上使用 Android NDK 编译一些 C++11 源代码,但运气不佳。请注意,我已经阅读了一些关于编译 C++11 的其他问题,但不幸的是它们并没有太大帮助。

我已经下载了 ADT Bundle 和最新的 NDK (android-ndk-r9b-windows-x86.zip)。

这些是我的配置文件:

Application.mk

APP_STL := gnustl_static
NDK_TOOLCHAIN_VERSION = 4.8
LOCAL_CPP_FEATURES += exceptions
LOCAL_CFLAGS += -std=c++11

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := procalc-core

LOCAL_SRC_FILES := pcc_arithmetics.cpp \
pcc_arithmetics_tools.cpp \
pcc_common.cpp \
pcc_core.cpp \
pcc_dms_tokenizer.cpp \
pcc_dynamic_numerics.cpp \
pcc_exceptions.cpp \
pcc_expressiontree.cpp \
pcc_expression_containers.cpp \
pcc_messages.cpp \
pcc_numerics.cpp \
pcc_resolvers.cpp \
pcc_syntaxtree.cpp \
pcc_tokenizer.cpp \
sm_Bignum.cpp \
sm_Math2D.cpp \
sm_MathNumerics.cpp \
ss_Streams.cpp

include $(BUILD_SHARED_LIBRARY)

构建命令

cd %AndroidProjects%ProCalc\jni\
D:\Android\ndk\ndk-build

pause

错误
这实际上是错误之一,但它显然无法识别新的 C++11 关键字,例如 autonullptr

D:/(path)/jni/pcc_arithmetics.cpp: In static member function 'static 
ProCalcCore::BaseNumeric* (* ProCalcCore::Arithmetics::GetFunctionMethod(std::string))
(const std::vector<const ProCalcCore::BaseNumeric*>&)':
D:/(path)/jni/pcc_arithmetics.cpp:4077:11: error: 'nullptr' was not declared in
this scope

return nullptr;
^

我做错了什么?

最佳答案

LOCAL_CPP_FEATURES += exceptions
LOCAL_CFLAGS += -std=c++11

应该进入 Android.mk 文件。或者,你可以把

APP_CFLAGS += -std=c++11

进入 Application.mk。您也可以改用 APP_CPPFLAGS,这样项目中的 C 源代码(如果您选择添加它们)可以编译(C 编译器不会喜欢 -std=c++11)。

关于android - 为 Android NDK 编译 C++11 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20182287/

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