android cmakelists 간략한 설명
3620 단어 ndk
cmake_minimum_required(VERSION 3.4.1)
aux_source_dirction(. DIR_SRCS)
, DIR_SRCS 。
라이브러리 추가
add_library( [STATIC|SHARED|MODULE] [
EXCLUDE_FROM_ALL] source1 source2 source3)
사전 편집 라이브러리 가져오기
add_library( [STATIC|SHARED|MODULE|UNKNOWN] IMPORTED)
set_target_properties( PROPERTIES IMPORTED_LOCATION )
# test
add_library(test SH/ARED IMPORTED)
set_target_properties(test PROPERTIES IMPORTED_LOCATON ${haha}/libtest.so)
공통 명령 set
1.
set(EXCUTABLE_OUTPUT_PATH [output_path])
2.
set(LIBRARY_OUTPUT_PATH)
3. C++
set(CAMKE_CXX_FLAGS "-Wall std=c++11")
4.
set(SOURCE_FILES main.cpp test.cpp)
include_directories
include_dirctories(./include ${MY_INCLUDE})
, g++ -I
add_excutable
add_excutable( ${src_list})
target_link_libraries
target_link_libraries( lib1 lib2 lib3)
1.
2. 。 lib1 lib2 ,lib2 lib3
3. ,cmake
add_library(A STATIC a.c)
add_library(B STATIC b.c)
target_link_libraries(A B)
target_link_libraries(B A)
add_excutable(main main.c)
target_link_libraries(main A)
4.
add_definitions ??
add_definitions(-DFOO -DDEBUG ...)
-D define flag
add_subdirectory
add_subdirectory(sub_dir [binary_dir])
, , CMakeLists.txt
file 명령
set_directory_properties
set_directory_properties(PROPERTIES prop1 value1 prop2 valu2)
prop:INCLUDE_DIRECTORIES LINK_DIRECTORIES INCLUDE_REGULAR_EXPRESSION ADDTIONAL_MAKE_CLREAN_FILES
set_property
set_property(
[APPEND]
property [value ...])
여러 개의 원본 파일을 어떻게 처리합니까
현재 디렉토리
aux_source_directory(. DIR_SCRS)
file(GLOB DIR_SRCS *.c *.cpp)
add_library(native-lib SHARED ${DIR_SRCS})
여러 디렉토리 아래
child
# CMakeLists.txt :
cmake_minimum_required(VERSION 3.4.1)
# DIR_SRCS
aux_source_directory(. DIR_SRCS)
#
add_library(native-lib SHARED ${DIR_SRCS})
#
add_subdirectory(child)
#
target_link_libraries(native-lib child)
#child CMakeLists.txt :
cmake_minimum_required(VERSION 3.4.1)
aux_source_directory(. DIR_LIB_SRCS)
add_library(child SHARED ${DIR_LIB_SRCS})
사전 컴파일 라이브러리 추가 (android 6.0 이전)
cmake_minimum_required(VERSION 3.4.1)
add_library(import-lib SHARED IMPORTED)
set_target_properties(import-lib PROPERTIES IMPORTED_LOCATION ./xxx/lib-import-lib.so)
aux_source_directory(. SRCS)
add_library(native-lib SHARED ${SRCS})
target_link_libraries(native-lib import-lib)
사전 컴파일 라이브러리 추가 (android 6.0 이후)
set(CMAKE_C_FLAGS "${CAMKE_C_FLAGS} -l [so ]")
CMAKE_C_FLAGS -l
헤더 파일 추가
cmake_minimu_required(VERSION 3.4.1)
include_directorys()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -l [so ]")
aux_source_direction(. SRCS)
add_library(native-lib SHARED ${SRCS})
target_link_libraries(native-lib improted-lib)
build.gradle의 설정
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
andfix 의 자바 hook 프로 세 스원 리 는 자바 함 수 를 native 함수 로 설명 한 다음 자바 함수 가 dvm 에 대응 하 는 method 구조 체 지침 을 가 져 와 구성원 데이터 의 지침 을 교체 하여 자바 hook 을 실현 하 는 것 입...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.