我正在尝试编译 Android NDK 库以使用 android-ndk-profiler用于分析。
在Audio.h
中,我有:
extern "C" {
void monstartup(char const*);
void moncleanup();
}
在Audio.cpp
中,我有:
#include "Audio.h"
com_example_native_init(JNIEnv *env, jobject thiz) {
// Start profiling
monstartup("libDMAudiolib.so");
...
}
我正在编译
ndk-build NDK_MODULE_PATH=/cygdrive/c/ndk_modules
我得到的确切编译错误是
Path/to/Audio.cpp:136: error: undefined reference to 'monstartup'
有没有 android ndk 专家可以告诉我发生了什么事?
最佳答案
听起来monstartup
没有被链接(看起来像链接器错误,而不是编译器错误)。
确保您的 Android.mk
具有 Usage page 上显示的添加内容,特别是 LOCAL_STATIC_LIBRARIES
指令。
关于android-ndk-profiler 对 monstartup 和 moncleanup 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16949303/