Pesquisar na Comunidade
Showing results for tags 'crosscompile'.
Encontrado 2 registros
-
Compilação Cruzada Linux para Windows
um tópico no fórum postou bylaardt Object Pascal - Delphi & Lazarus
Recentemente comecei a estudar os códigos do projeto ACBR, mas precisei alterar uma série de coisas para que funcionasse em linux, dentre elas: 1) alteração do padrão do arquivo para UTF8, por exemplo, a função tiraacentos: function TiraAcentos( const AString : String ) : String ; const SearchFor='ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ'; Change_To ='AAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy'; var subtext:string; s1:integer; LengLoop,LengTxt,posx:longint; begin result:=''; LengTXT:=Length(AString); LengLoop:=1; while LengLoop<=LengTxt do begin case AString[LengLoop] of #000..#191: s1:=1; #192..#223: s1:=2; #224..#239: s1:=3; #240..#247: s1:=4; #248..#251: s1:=5; #252..#254: s1:=6; #255 : s1:=7; end; if s1=1 then result:=result+AString[LengLoop] else begin subtext:=copy(AString,LengLoop,s1); posx:=UTF8Pos(subtext,SearchFor); if posx>0 then result:=result+Change_To[posx] else if subtext='ß' then result:=result+'ss' else if subtext='æ' then result:=result+'ae' else if subtext='Æ' then result:=result+'AE' end; LengLoop:=LengLoop+s1; end end; 2) Salvar os arquivos em formato UTF8: Sim, os arquivos fontes estão gravados no formato ISO8859-15: formato obsoleto anterior ao unicode. 3) Acrescentar alguns arquivos aos pacotes, e colocar diretivas de compilação nos arquivos: Pacotes como ACBrDFeComum, precisam do arquivo para ACBrDFeWinCrypt.pas, mas esse não está na incluído no pacote, apenas no caminho de pesquisa. Quando se instala esse pacote no Lazarus para linux, ele não é incluído, por conta da diretiva de compilação {$IfDef MSWINDOWS}, mas na compilação cruzada, ele é necessário, e não consegue ser localizado. Solução, incluir o arquivo no pacote e colocar as diretivas de compilação no arquivo ACBrDFeWinCrypt.pas, Posto o acima, pergunto: 1) A Comunidade ACBr tem interesse em manter a compatibilidade com lazarus para linux, ou será necessário criar um fork? 2) Em caso de fazer um FORK funcional para Linux com compilação cruzada para FreeBSD, Windows e Solaris, como faço para obter os registros de alterações/inclusões com o intúito de manter um mínimo de compatibilidade com os componentes ACBr? 3) Em caso de interesse em criar compatibilidade com o linux e o crosscompile, quem será o contato para que se envie as alterações? 4) Não uso Delphi, e vejo que há muito interesse em manter a compatibilidade com o D7, apesar dele não suportar Unicode. Há muito que já se havia anunciado o término de suporte do ACBr ao D7, mas isso ainda não ocorreu. Em caso de não ser criado um fork para compatibilidade Linux, será necessário criar um fork para manter a compatibilidade com o D7?- 9 replies
-
- crosscompile
- linux
- (e 2 mais)
-
Como configurar o Lazarus Linux para Cross Compile
um tópico no fórum postou Daniel Simoes Base de Conhecimento
Cross Compile de Linux para Win32 Baixe o Lazarus do Site oficial: https://www.lazarus-ide.org/ Exemplo de arquivos a serem baixados: lazarus-2.0.2-0.x86_64.rpm, fpc-3.0.4-1.x86_64.rpm, fpc-src-3.0.4-1.x86_64.rpm Instalar FPC e FPCSRC (em modo "root") rpm -U fpc* Instalar Lazarus (em modo "root") rpm -U lazarus* Testar a instalação do Lazarus (em modo normal) startlazarus Feche o Lazarus e acesse a pasta dos fontes do FPC cd /usr/share/fpcsrc/3.0.4 Compilar FPC em Win32 (em modo "root") make all OS_TARGET=win32 CPU_TARGET=i386 Instalar novas DCUs e Compilador no Linux (em modo "root") make crossinstall OS_TARGET=win32 CPU_TARGET=i386 INSTALL_PREFIX=/usr Editar /etc/fpc.cfg (em modo "root") Incluir antes da sessão "Linking" a linha -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/* Criar Link Simbólico para o compilador Win32 em /usr/bin (em modo "root") ln -s /usr/lib/fpc/3.0.4/ppcross386 /usr/bin/ppcross386 Configure o seu projeto, criando um novo Build Mode (em modo normal) Acesse Project Options -> Compiler Options -> Config and Target Target OS -> Win32 Target CPU -> i386 Se ocorrer erros na recompilação da IDE, e tiver dificuldades de descobrir o problema. Selecione em Mensagens, para não efetuar nenhum filtro Botão direito em Mensagems -> Filter non Urgent Messages -> Filter None Observe as mensagens, geralmente é acusada a falta de alguma Biblioteca compartilhada... No caso de dúvidas, por favor crie um novo tópico em: https://www.projetoacbr.com.br/forum/forum/12-object-pascal-delphi-lazarus/