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
Uh oh!
There was an error while loading. Please reload this page.
-
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