首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android对Android的未定义引用::Mutex,Android::AudioTrack

Android对Android的未定义引用::Mutex,Android::AudioTrack
EN

Stack Overflow用户
提问于 2012-06-11 16:26:15
回答 2查看 4.7K关注 0票数 2

我在链接时得到了一些奇怪的未定义引用,用于Android::Mutex和Android::AudioTrack,这是我接手的一个项目使用的。

有人有什么想法吗?没有Android静态库可以包含,是吗?

SharedLibrary:**jni.so

代码语言:javascript
复制
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `__static_initialization_and_destruction_0':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:29: undefined reference to `android::Mutex::Mutex()'
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:29: undefined reference to `android::Mutex::~Mutex()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `Autolock':
/Android/source/frameworks/base/include/utils/threads.h:232: undefined reference to `android::Mutex::lock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `~Autolock':
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `Autolock':
/Android/source/frameworks/base/include/utils/threads.h:232: undefined reference to `android::Mutex::lock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_mute':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:263: undefined reference to `android::AudioTrack::mute(bool)'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `~Autolock':
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `Autolock':
/Android/source/frameworks/base/include/utils/threads.h:232: undefined reference to `android::Mutex::lock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_resume':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:255: undefined reference to `android::AudioTrack::start()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `~Autolock':
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `Autolock':
/Android/source/frameworks/base/include/utils/threads.h:232: undefined reference to `android::Mutex::lock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_pause':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:247: undefined reference to `android::AudioTrack::pause()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `~Autolock':
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_get_delay':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:237: undefined reference to `android::AudioTrack::latency() const'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `Autolock':
/Android/source/frameworks/base/include/utils/threads.h:232: undefined reference to `android::Mutex::lock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_uninit':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:220: undefined reference to `android::AudioTrack::stop()'
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:228: undefined reference to `android::AudioTrack::~AudioTrack()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `~Autolock':
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `Autolock':
/Android/source/frameworks/base/include/utils/threads.h:232: undefined reference to `android::Mutex::lock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_start':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:197: undefined reference to `android::AudioTrack::initCheck() const'
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:198: undefined reference to `android::AudioTrack::start()'
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:201: undefined reference to `android::AudioTrack::setVolume(float, float)'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `~Autolock':
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_start':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:207: undefined reference to `android::AudioTrack::~AudioTrack()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `Autolock':
/Android/source/frameworks/base/include/utils/threads.h:232: undefined reference to `android::Mutex::lock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_init':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:122: undefined reference to `android::AudioTrack::AudioTrack()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `~Autolock':
/Android/source/frameworks/base/include/utils/threads.h:234: undefined reference to `android::Mutex::unlock()'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `android_init':
/Users/kevin/Desktop/player2/videoplayer/LibPlayer/amadec/audio_out/android_out.cpp:139: undefined reference to `android::AudioTrack::set(int, unsigned int, int, int, int, unsigned int, void (*)(int, void*, void*), void*, int, android::sp<android::IMemory> const&, bool, int)'
/Users/kevin/Desktop/player2/videoplayer/videoplayer/obj/local/armeabi-v7a/libamadec.a(android_out.o): In function `~sp':
/Android/source/frameworks/base/include/utils/RefBase.h:378: undefined reference to `android::RefBase::decStrong(void const*) const'
collect2: ld returned 1 exit status
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-23 20:50:00

这也困扰着我-但我最终解决了它与仿生的头部(bionic/libc/include),并-重要的部分- #define'ing HAVE_PTHREADS (即添加LOCAL_CFLAGS += HAVE_PTHREADS)。

票数 4
EN

Stack Overflow用户

发布于 2012-06-11 19:28:16

这些是一些奇怪的错误..。看起来,每次从android::Mutex或android::AudioTrack库中引用某些内容时,链接器都找不到这些函数。我所能说的是,由于这些库不是android标准库的一部分,所以请确保它们在构建路径中,否则祝您好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10984001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档