0

私は 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'
4

1 に答える 1

0

このエラーは、「unsigned int」のアドレスが 64 ビット ビルドに渡された場合に発生します。これは 32 ビット ビルドでは問題ありませんが、64 ビットでは unsigned long である必要があります。ビルド ターゲットを制御するには、コマンド ラインで -m64 / -m32 を渡します。

于 2015-10-05T12:39:20.537 に答える