它可能是重複的,但我嘗試了所有我在StackOverflow上找到的解決方案。錯誤:'to_string'不是'std'的成員
我正在C++上用OpenCV製作一個庫,並試圖爲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'之前,您的源文件是否包含''......?如果是這樣,你可以使用'g ++ -E ...'來查看預處理器的輸出,並檢查'to_string'是否存在......如果沒有在頭文件中檢查有條件的'#ifdef',並且google在你定義的文件中找不到。 XCode可能會定義您需要的額外預處理器符號... –
2014-09-29 09:08:04
是的,它在XCode上運行良好。當我編譯它時,庫完美地工作。 – 2014-09-29 09:09:26
好的,我打算去做 – 2014-09-29 09:10:10