Pular para o conteúdo principal

Solução de problemas

Falhas no Android e iOS

Em alguns casos no Android e iOS, podem ocorrer falhas durante a execução (como durante testes do TestFlight). Isso é causado pelos requisitos de alocação de memória da biblioteca llama.cpp subjacente, que conflitam com os alocadores padrão do Unreal Engine nessas plataformas. Em outras plataformas, o FMalloc usa o alocador ANSI como padrão, portanto esse problema é específico do Android e iOS.

Para resolver isso, é necessário forçar o alocador ANSI no arquivo Target.cs do seu projeto:

Para o Unreal Engine 5.5 e versões anteriores:

  • Seu projeto deve usar uma engine compilada a partir do código-fonte (não um binário pré-compilado)
  • Adicione a seguinte linha ao seu arquivo Target.cs:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");

Para Unreal Engine 5.6 e posteriores:

  • Funciona com compilações da engine criadas a partir do código-fonte e pré-compiladas
  • Adicione as duas linhas a seguir ao seu arquivo Target.cs:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;

Isso força o Unreal Engine a usar o alocador ANSI no Android e iOS, correspondendo ao alocador usado pelo llama.cpp.