Estou criando uma biblioteca compartilhada para o destino aarch64-linux-android. Após definir o vinculador como o fornecido pelo Android NDK e configurar o caminho para as bibliotecas nativas do Android pré-compiladas usando o -C link-args=--library-path=...
sinalizador em config.toml, recebo este erro durante a compilação:
ld: error: unable to find library -lunwind
Tentei definir o argumento --sysroot do vinculador (o que parece não fazer nada). Adicionar --Bdynamic também não está funcionando.
Algumas informações sobre isso seriam úteis.
Aparentemente, o problema foi causado porque o
target.<triple>.linker
foi definido como...ndk/.../ld
. Descobri que usar...ndk/.../<target_triple><sdk_version>-clang
como vinculador resolveu todos os problemas. Basta especificar o compilador clang como vinculador e funciona muito bem. Não há necessidade de adicionar caminhos extras ou definir o sysroot.Para mim, atualizar o NDK ajudou.
Para mais detalhes, veja aqui .