最近在搞天使之翼的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
时间: 2024-10-11 09:39:11