最近在搞天使之翼的mrp模拟器。。。
移到AndroidStudio了,现在想把原来的Android
.mk那种方式的改成cmake的方式编译,但是编译时有一些符号找不到。
undefined reference,这些其实是在一个叫mr_gc的文件里的,但是没有这个文件。所以决定直接忽略找不到的符号,但是搜到的是Android.mk的
最后在这个blog发现了
https://blog.csdn.net/suningning/article/details/74509894
通过设置这个参数
ANDROID_ALLOW_UNDEFINED_SYMBOLS
这是在build.gradle里设置的,如图
附上build.gradle
apply plugin: ‘com.android.library‘
android {
compileSdkVersion 27
buildToolsVersion "27.0.1"
defaultConfig {
minSdkVersion 17
targetSdkVersion 17
ndk{
abiFilters "armeabi"
}
externalNativeBuild {
cmake {
cppFlags ""
arguments "-DANDROID_ALLOW_UNDEFINED_SYMBOLS=TRUE"
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.txt‘
}
debug {
jniDebuggable true
}
sourceSets {
main {
jniLibs.srcDir ‘src/main/libs‘
jni.srcDirs = []
}
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}
dependencies {
compile ‘com.android.support:support-v4:23.+‘
}
安卓ndk 忽略 error: undefined reference to '找不到符号
原文:https://www.cnblogs.com/formatfa/p/8830432.html