Android에서 C ++ 11 지원 활성화
C ++ 11을 Android에 통합하려면 어떻게해야합니까?
여기의 주요 답변에는 C ++ 11에 대한 실험적 지원이 포함되어 있으며 C ++ 11은 더 이상 실험적이지 않습니다.
명령 줄 NDK 지원 (Java 항목에 IDEA 커뮤니티 에디션 13 사용)을 사용 jni/Application.mk
하는 경우 API 19 (OSX ML에서)에서 C ++ 11 지원을 받기 위해 다음을 입력해야합니다 .
NDK_TOOLCHAIN_VERSION := 4.8
# APP_STL := stlport_shared --> does not seem to contain C++11 features
APP_STL := gnustl_shared
# Enable c++11 extentions in source code
APP_CPPFLAGS += -std=c++11
먼저 도구 체인이 "교차 GCC"인지 확인해야합니다. 내 Linux에서는 기본값 이었지만 MacOSX Lion에는 없었습니다.
이렇게하려면 프로젝트 속성> C / C ++ 빌드> 도구 체인 편집기로 이동 합니다. " 현재 도구 모음 "은 " Cross GCC " 로 설정되어야합니다 . " 호환 가능한 도구 모음 만 표시 "확인란을 선택 취소해야 할 수도 있습니다 .
그런 다음 Android.mk의 LOCAL_CFLAGS에 옵션을 추가합니다 .
LOCAL_CFLAGS := -std=gnu++11
이제 해당하는 새 기호 (예 : "std :: unordered_map")를 찾을 위치를 Eclipse에 알려야합니다. 이동 > GNU C ++ -> 경로 및 기호 - -> 기호 "JNI"> 속성> C / C ++ 일반 마우스 오른쪽 클릭 ( "추가 ..."를 클릭하여), 다음과 같은 기호를 추가
Name: __GXX_EXPERIMENTAL_CXX0X__
Value:
(예 : "값"을 비워 둡니다)
gradle-experimental-plugin을 사용하는 경우 build.gradle 파일 에서이를 설정할 수도 있습니다 .
android.ndk {
moduleName = "hello-android-jni"
stl = "stlport_shared"
cppFlags.add("-std=c++11")
}
최신 gradle-experimental-plugin 0.8.0-alpha4를 사용하여 app / build.gradle에 추가합니다 .
model {
android {
ndk {
moduleName "native"
CFlags.add("-std=c11") // Enable C11 support
ldLibs.add("log")
}
}
}
참고 URL : https://stackoverflow.com/questions/15616254/enable-c11-support-on-android
'program story' 카테고리의 다른 글
Git은 로그에 모든 분기 (숨김 제외)를 표시합니다. (0) | 2020.10.27 |
---|---|
SQL Server에서 RANK ()를 사용하는 방법 (0) | 2020.10.27 |
Chrome 브라우저에서 WebDriver를 실행할 때 브라우저가 제대로 실행 되더라도 "로컬 연결 만 허용됩니다"라는 메시지가 표시됨 (0) | 2020.10.27 |
JIRA : Epics vs Labels vs Components (0) | 2020.10.27 |
이 jQuery 준비 기능의 차이점은 무엇입니까? (0) | 2020.10.27 |