[Lazarus] Packages can't compile - checksum changed error
mailinglists at geldenhuys.co.uk
Thu Jun 25 13:26:39 CEST 2015
Many thanks for your response.
On 2015-06-25 12:05, Mattias Gaertner wrote:
> If you let the compiler choose between source and ppu file it
> often chooses source, because source rulez.
That's what I assumed is happening.
> Make sure your packages have their own separate unit output directories
> (separate from sources and from other packages)
That is already the case. The first packages outputs to:
and the second package outputs to:
> and that the second
> package unit paths do not include any directories of the first package.
This is a problem.
1) All units in tiOPF share a common tiDefines.inc include file that
controls some behaviour of the framework and defines new compiler
defines used throughout the framework. This include file lives in
the <tiopf>/Core/ directory. So the second package needs that
path to compile the tiOPF+LCL units.
2) The second package uses a unit tiDataset.pas (VCL and LCL specific)
that is located in the <tiopf>/Options/ directory. So Lazarus
automatically added the <tiopf>/Options/ directory to the unit
search path otherwise it couldn't find that unit.
The Options directory contains optional units not required by the core
framework, but often used. It contains things like alternative
persistence layer for various database backends, alternative ID
generators etc. The first package (eg: alternative persistence layers)
compiles these units based on the LINK_xxx compiler defines found in the
Other compiler options. So the first package needs the Options unit
search path setting to know where to find these if they are enabled.
> And that one.
I don't specify them, Lazarus must be adding them somewhere. They don't
appear in the "Compiler Options -> Paths" dialog.
- Graeme -
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
More information about the Lazarus