首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为Android编译C++11源代码

为Android编译C++11源代码
EN

Stack Overflow用户
提问于 2013-11-24 23:06:15
回答 1查看 6.5K关注 0票数 4

我试图在Windows上用Android编译一些C++11源代码,但没有多少运气。请注意,我读过一些关于编译C++11的其他问题,但不幸的是,它们并没有多大帮助。

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

这些是我的配置文件:

Application.mk

代码语言:javascript
运行
复制
APP_STL := gnustl_static
NDK_TOOLCHAIN_VERSION = 4.8
LOCAL_CPP_FEATURES += exceptions
LOCAL_CFLAGS += -std=c++11

Android.mk

代码语言:javascript
运行
复制
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)

构建命令

代码语言:javascript
运行
复制
cd %AndroidProjects%ProCalc\jni\
D:\Android\ndk\ndk-build

pause

错误

这实际上是一个错误,但它显然没有识别新的C++11关键字,如autonullptr

代码语言:javascript
运行
复制
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;
       ^

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-25 04:29:09

代码语言:javascript
运行
复制
LOCAL_CPP_FEATURES += exceptions
LOCAL_CFLAGS += -std=c++11

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

代码语言:javascript
运行
复制
APP_CFLAGS += -std=c++11

转化为Application.mk。您也可以使用APP_CPPFLAGS,以便您的项目中的C源(如果您选择添加它们)可以编译(C编译器不会喜欢-std=c++11)。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20182287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档