无法将 openal soft 与 necessitas 关联
Posted
技术标签:
【中文标题】无法将 openal soft 与 necessitas 关联【英文标题】:Failed to link openal soft with necessitas 【发布时间】:2012-03-21 15:08:05 【问题描述】:我正在尝试为 android 重建我的 Qt 应用程序,所以我选择了 necessitas。但是,当我尝试与 openal soft for android(静态构建)链接时,出现错误:
/media/Files/QtCode/AndroidPlayer/libs/armeabi/libopenal.a(android.o): In function `JNI_OnLoad':
/media/Files/openal-android/android/jni/../../Alc/backends/android.c:51: multiple definition of `JNI_OnLoad'
qtmain_android.o:qtmain_android.cpp:(.text.JNI_OnLoad+0x0): first defined here
collect2: ld returned 1 exit status
我没有学过android或java编程,所以不知道如何链接没有.a文件的共享库(开放软共享库只提供.so文件)。
【问题讨论】:
【参考方案1】:这意味着 JNI_OnLoad 函数在多个地方定义。一次是来自 OpenAL Soft 的 android.c 文件,一次是来自 Qt 的 qtmain_android.cpp。
JNI_OnLoad 是 Android 在加载时为每个共享库调用的特殊函数。显然你不能拥有其中两个。
我建议您将 OpenAL 和 Qt 放入单独的共享库中。这样,Android 将正确调用这两个 JNI_OnLoad 函数。
【讨论】:
以上是关于无法将 openal soft 与 necessitas 关联的主要内容,如果未能解决你的问题,请参考以下文章
cent6.5 设置open_files max_user_processes
cent6.5 设置open_files max_user_processes
Kingsway Soft Data Migration - 带有状态的权利实体错误
docker 容器挂载主机目录,访问出现 cannot open directory /mnt/home/webroot/: Permission denied 的解决办法