安卓ndk 忽略 error: undefined reference to '找不到符号

最近在搞天使之翼的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.+'
}

 

转载于:https://www.cnblogs.com/formatfa/p/8830432.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值