Skip to content

Instantly share code, notes, and snippets.

@lizhangqu
Last active May 14, 2023 07:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save lizhangqu/e731605888355c4d44372f336a65de15 to your computer and use it in GitHub Desktop.
Save lizhangqu/e731605888355c4d44372f336a65de15 to your computer and use it in GitHub Desktop.
cmake and ndk build
# for cmake
# c++11
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
#debug or release
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} -s")
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -s")
#if CMAKE_STATIC_LINKER_FLAGS_RELEASE or CMAKE_SHARED_LINKER_FLAGS_RELEASE not work use this
#if(CMAKE_BUILD_TYPE MATCHES Release)
# set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -s")
#endif()
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O1 -g")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O1 -g")
# for gradle
cmake {
arguments "-DANDROID_TOOLCHAIN=gcc"
arguments "-DANDROID_STL=gnustl_static" //default gnustl_static
}
# for Andorid.mk
# c++11
LOCAL_CPPFLAGS += -std=c++11
#debug or release
ifeq ($(NDK_DEBUG),0)
LOCAL_CFLAGS += -O3
LOCAL_CPPFLAGS += -O3
LOCAL_LDFLAGS += -s
else
LOCAL_CFLAGS += -O1 -g
LOCAL_CPPFLAGS += -O1 -g
endif
# for Application
APP_OPTIM= release
APP_THIN_ARCHIVE := true
APP_STL := gnustl_static
APP_ABI := armeabi-v7a
APP_PLATFORM := android-14
NDK_TOOLCHAIN_VERSION := 4.9 #use gcc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment