它可能是重复的,但我尝试了在StackOverflow上发现的所有解决方案。
我正在使用OpenCV制作一个C++库,并尝试将其编译为Android。
我无法使用
这是我的Application.mk APP_STL := gnustl_static APP_CPPFLAGS := -frtti -fexceptions APP_ABI := all APP_MODULES := libXYZ libJsoncpp APP_CPPFLAGS := -std=gnu++0x APP_CPPFLAGS += -frtti APP_CPPFLAGS += -fexceptions APP_CPPFLAGS += -DDEBUG APP_CPPFLAGS += -std=c++11 NDK_TOOLCHAIN_VERSION := 4.8 LOCAL_C_INCLUDES += ${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/4.8/include APP_USE_CPP0X := true 提前感谢您。
我正在使用OpenCV制作一个C++库,并尝试将其编译为Android。
我无法使用
to_string(int)
,但我不知道怎么做。 我尝试过修改我的makefile太多次了。 我最后的配置如下:
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
OPENCV_CAMERA_MODULES:=off
OPENCV_INSTALL_MODULES:=on
include $(LOCAL_PATH)/jsoncpp/Android.mk
include /Users/rafaelruizmunoz/Desktop/AndroidDevelopment/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk
OPENCV_LIB_TYPE:=SHARED
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_C_INCLUDES += /Users/rafaelruizmunoz/opencvscan/OpenCVtry/
LOCAL_C_INCLUDES += /Users/rafaelruizmunoz/Desktop/RD/OpenCVtry/Libraries/jsoncpp-master/include
LOCAL_PATH := jni
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
LOCAL_MODULE := libXYZ
LOCAL_MODULE_NAME := mylibXYZ
LOCAL_SRC_FILES := androidClass.cpp main.cpp utils.cpp
LOCAL_LDLIBS += -llog -ldl
LOCAL_CPPFLAGS := -std=c++11 CFLAGS=-g -Wall -Wextra -std=c++11 -Wno-write-strings ../../include/boost
LOCAL_SHARED_LIBRARIES := libJsoncpp libopencv_java
include $(BUILD_SHARED_LIBRARY)这是我的Application.mk APP_STL := gnustl_static APP_CPPFLAGS := -frtti -fexceptions APP_ABI := all APP_MODULES := libXYZ libJsoncpp APP_CPPFLAGS := -std=gnu++0x APP_CPPFLAGS += -frtti APP_CPPFLAGS += -fexceptions APP_CPPFLAGS += -DDEBUG APP_CPPFLAGS += -std=c++11 NDK_TOOLCHAIN_VERSION := 4.8 LOCAL_C_INCLUDES += ${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/4.8/include APP_USE_CPP0X := true 提前感谢您。
std::to_string
之前是否包含<string>
?如果是这样,你可以使用g++ -E ...
命令来查看预处理器输出,并检查to_string
是否存在。如果没有,请检查头文件中的条件#ifdef
并搜索缺失的定义。XCode 可能会定义你需要的额外预处理器符号... - Tony Delroy