Compilação para Android com FPC 3.3.1 e Lazarus 4.99 #247
edsontmarques
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Olá!
Estive tentando compilar a unit DataSet.Serialize.Import.pas em um projeto para Android.
Nesta compilação estou usando o Lazarus 4.99 com FPC 3.3.1 (trunk instalados com o FPCUpDeluxe).
O projeto está configurado para gerar binário para Android (aarch64) e, neste caso, ao compilar o DataSet.Serialize.Import.pas, na linha 536, o compilador está reclamando com a seguinte mensagem:
"DataSet.Serialize.Import.pas(536,9) Error: Incompatible types: got "AnsiString(0)" expected "Extended"" .
A linha 536 (copiada abaixo) tem apenas instruções de diretivas de compilação:
"
{$IF (DEFINED(ANDROID) or DEFINED(IOS)) and (CompilerVersion < 34.0)}
"
Pelo que eu percebi aqui, fazendo vários testes, o problema parece estar relacionado a essa diretiva "CompilerVersion"... Quando eu a uso sozinha o erro continua acontecendo e quando eu a elimino da expressão o erro desaparece.
Estive pesquisando e fiz um ajuste na linha de forma que ela ficou assim:
"
{$IF (DEFINED(ANDROID) or DEFINED(IOS)) and (FPC_FULLVERSION < 34000)}
"
Não conferi se essa lógica é válida (principalmente a questão da equivalência do número 34, como estava anteriormente, com o 34000, da forma como ficou) apenas fiz uma busca dessa diretiva (FPC_FULLVERSION) no código do Lazarus e do FPC e verifiquei como é que ela estava sendo usada.
O objetivo dessa mensagem é comunicar a ocorrência do problema de compilação encontrado no contexto específico e da alternativa dada para conseguir ter sucesso na compilação.
Att.
Beta Was this translation helpful? Give feedback.
All reactions