【发布时间】:2015-09-15 08:35:32
【问题描述】:
我正在为 arm64-v8 构建 android 项目,我正在使用 NDK-r10e。我已经使用它的依赖项(Glib 2.35.8)构建了构建 Libnice 0.13,并且我已经编译了 Glib 的所有依赖项(intl,iconv,ffi )。 所以我成功地构建了 Glib 的静态库,然后使用我的 glib 库构建了一个 Libnice 静态库。 现在我正在使用这些静态库来构建我的 android 项目,我收到以下错误,我不知道为什么它会给我这个链接器错误,因为在构建这些库时,一切对我来说都很好。
libnice.a(pseudotcp.o): In function `pseudo_tcp_socket_get_type':
/Users/aagman/Desktop/LibNIce/libnic/Newlibnice/jni/files/agent/pseudotcp.c:78: undefined reference to `G_STATIC_ASSERT'
In function `nice_agent_get_type':
/Users/aagman/Desktop/LibNIce/libnic/Newlibnice/jni/files/agent/agent.c:85: undefined reference to `G_STATIC_ASSERT'
/Users/aagman/Desktop/LibNIce/libnic/Newlibnice/jni/files/agent/agent.c:85: undefined reference to `G_STATIC_ASSERT'
【问题讨论】:
-
您正在为什么平台构建以及您是如何构建 libnice.so 的?
[arm64-v8a]是 ARM 64 位。您的其余代码是否也针对 64 位 ARM-v8,否则链接器将失败,因为二进制文件不兼容 -
我正在为 ARM 64 构建,我只为 ARM64 构建了我的 libnice.so,并且我使用了为 ARM 64 构建的所有 libnice 依赖项。
标签: android android-ndk glib libnice