Ошибка компоновщика Android - ndk: неопределенная ссылка на `G_STATIC_ASSERT'
Я строю Android-проект для arm64-v8 и использую NDK-r10e. У меня есть сборка Libnice 0.13, использующая ее зависимость (Glib 2.35.8), и у меня есть все скомпилированные зависимости 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'
1 ответ
Эта ошибка возникает, если адрес "unsigned int" передается для 64-битной сборки, что было бы хорошо для 32-битной сборки, но должно быть длиной без знака для 64-битной сборки. Передайте -m64 / -m32 в командной строке, чтобы контролировать цель сборки.