[Lazarus] Compiling Win 64 bit LCL only with 32 bit IDE+cross compiler

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Apr 23 20:15:41 CEST 2012


On Mon, 23 Apr 2012 17:51:17 +0200
Reinier Olislagers <reinierolislagers at gmail.com> wrote:

> On 23-4-2012 12:28, Reinier Olislagers wrote:
> > Method 3: I'm now trying someting like this:
> > make "CPU_TARGET=x86_64" "OS_TARGET=win64" "registration" "lazutils" "lcl"
> > ...list of dependencies taken from
> > http://wiki.lazarus.freepascal.org/Getting_Lazarus#Make_parameters
> > 
> > but I get
> > Compiling fcllaz.pas
> > Compiling registerfcl.pas
> > Compiling lazaruspackageintf.pas
> > PPU Loading
> > C:\development\fpc\units\x86_64-win64\fcl-extra\ServiceManager.ppu
> > Recompiling ServiceManager, checksum changed for System
> > registerfcl.pas(43,3) Fatal: Can't find unit ServiceManager used by
> > RegisterFCL
> > Fatal: Compilation aborted
> > 
> > What would be the right way to achieve my goal?

This should work

make clean CPU_TARGET=x86_64 OS_TARGET=win64
make clean all useride
lazbuild.exe --os=win64 --cpu=x86_64 lcl\interfaces\lcl.lpk

Of course you need to have a 64bit compiler installed properly.


> > Would it perhaps be possible to let make LCL automatically pull in its
> > dependencies?

lazbuild does that.


> Mmm... deleting all ppu files helped.
> 
> It at least compiles with fixes 2.6 - not with trunk, though:
> Compiling treefilteredit.pas
> treefilteredit.pas(28,48) Fatal: Internal error 2011090501
> TExternalToolList.Run Exception:
> C:\development\lazarus_fpctrunk\components\lazcontrols\treefilteredit.pas(28,48)
> Fatal: Internal error 2011090501
> ERROR: tool reported error
> 
> The user will still trigger a recompile of the LCL when compiling his
> first x64 application though...


Mattias




More information about the Lazarus mailing list