J'essaie de générer une bibliothèque statique en utilisant CMAKE et Android Studio (2.3.2). Voici à quoi ressemble mon CMakeLists.txt. Je suis incapable de générer un fichier .a, cependant lorsque je change la bibliothèque en SHARED, le fichier CMakeTestModule.so est généré lorsque je fais "Build-> Rebuild Project". Est-il nécessaire pour moi d'ajouter/définir un drapeau pour construire des bibliothèques STATIC.CMake génère une bibliothèque SHARED mais pas une bibliothèque STATIC
cmake_minimum_required(VERSION 3.4.1)
project (CMakeTestProject)
include_directories(
src/main/cpp/
)
add_library(
CMakeTestModule
STATIC
src/main/cpp/CMakeTestModule.cpp
)
add_executable(
CMakeTestModule_test
src/main/cpp/CMakeTestModule_test.cpp
)
target_link_libraries(CMakeTestModule_test CMakeTestModule)
C'est ce que mon build.gradle ressemble:
apply plugin: 'com.android.library'
android {
compileSdkVersion 16
buildToolsVersion "25.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 8
externalNativeBuild {
cmake {
abiFilters 'armeabi'
}
}
}
externalNativeBuild {
cmake {
path 'CMakeLists.txt'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
Cela pourrait être un problème Android NDK, non cmake. Jetez un coup d'œil à [BUILD_STATIC_LIBRARY] (https://developer.android.com/ndk/guides/android_mk.html) –
Il existe plusieurs résultats lorsque vous recherchez ['gradle cmake build static library'] (https: // www.google.com/search?q=gradle+cmake+build+static+library) –
@SteveLorimer J'utilise CMake pour construire mes trucs ndk, je ne sais pas comment utiliser BUILD_STATIC_LIBRARY dans CMake. – savi