安卓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.+‘}

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

原文地址:https://www.cnblogs.com/formatfa/p/8830432.html

时间: 2024-10-11 09:39:11

安卓ndk 忽略 error: undefined reference to '找不到符号的相关文章

error: undefined reference to 'av_register_all()'

cygwin下ndk编译工程中使用ffmpeg时出现的错误:“error: undefined reference to 'av_register_all()'” 使用ffmpeg的源文件是  *.cpp 而且在已经引入了ffmpeg的相应的头文件. 所以解决方法: extern "C" { #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> } ------------------

[Qt解错篇]报错:error: undefined reference to vtable for ClassName

一.问题描述: 编译工程时报错:error: undefined reference to vtable for ClassName,如图示: 二.问题分析: 造成这种错误的原因很多,甚至在纯C++编程过程中也可能出现.下面根据自己情况,具体问题具体分析. 原因:在原先没有Q_OBJECT关键字的工程中添加了该关键字,但是没有执行qmake,直接编译导致出现该错误. 三.例子: 原先工程的类建立: class CAppConfig { public: CAppConfig(void); CApp

error: undefined reference to &#39;property_set (转载)

转自:http://blog.csdn.net/u011589606/article/details/23474241 in the cpp file, please include #include <cutils/properties.h> in Android.mk, please add LOCAL_STATIC_LIBRARIES := \       libcutils \ error: undefined reference to 'property_set (转载)

jni/../../Classes/AppDelegate.cpp:102: error: undefined reference to &#39;TestController::TestController

<1>错误信息: [armeabi] SharedLibrary  : libcocos2dcpp.so E:/Android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/coc

win7下qt error: undefined reference to `[email&#160;protected]&#39;解决

[email protected]对应着winsock2.h的getnameinfo函数 首先需要导入对应的头文件 #ifndef WIN32 #include <sys/socket.h> #include <netinet/in.h> #else //win7下的头文件 #include <winsock2.h> #include<ws2tcpip.h> #endif 在qt的.pro工程文件中添加ws2_32.lib文件即可. LIBS += -lli

error:: undefined reference to symbol &#39;__glewBufferSubData&#39; 未定义的引用 以及 error: main.o: undefined reference to symbol &#39;glTexImage2D&#39;

在把DSO移植到QT工程中,出现了 p,li { white-space: pre-wrap } /usr/bin/ld: KeyFrameDisplay.o: undefined reference to symbol '__glewBufferSubData' 报错,原因是.pro文件中没有加 GLEW库. 解决方案: 在.pro文件中加上这句: p,li { white-space: pre-wrap } ##### GLEW ##### LIBS += -lGLEW error: mai

[转]关于[Linker error] undefined reference to `[email&#160;protected]&#39;的解决办法

在网上搜到的一个很完整的叙述,就直接帖过来了.如下:**************************************************** 说明: 常遇到的socket网络编程问题. 在工程里已经#include <winsock2.h>了结果还是报错,郁闷死了,我用的是Dev-C++,起先还以为是IDE的问题,结果换成VC6.0还是同样的错误.最后在网上终于找到问题的原因,很快搞定了.顺便做一下笔记,以防以后再出现这种问题. VC6.0下的错误信息: error LNK20

Dev C++中的错误的解决[Linker error] undefined reference to `__dyn_tls_init_callback&#39;

Dev C++中的错误的解决[Linker error] undefined reference to `__cpu_feat... 解决NOIP环境GUIDE和Dev之间的并存问题. 装上了NOIP的测试环境GUIDE后,想再用之前的Dev c++的编译器的时候,发现编译的时候出现问题,无法找到编译连接的库. 错误信息如下: [Linker error] undefined reference to `__cpu_features_init' ld returned 1 exit status

Android NDK编译之undefined reference to &#39;JNI_CreateJavaVM&#39;

利用Android NDK编译动态库,在C文件中调用了两个JNI函数:JNI_GetDefaultJavaVMInitArgs和JNI_CreateJavaVM.编译的时候始终报以下错误: XXX: undefined reference to `JNI_GetDefaultJavaVMInitArgs' XXX: undefined reference to `JNI_CreateJavaVM' 看了网上很多人的解答,基本都是添加libjvm.so或者libnativehelper库.尝试下,