Hi,
It been days for me that I have problem with getting Trunk. I used to use fpcup but now days it always give me errors. So I went to use GetLazarus version, it is good but have many bugs because of its docking system and it will always be cropped so I decide to for one time I get the source an compile it. I will write all things I do and all of these are done in Windows 10 64bit and run as administrator. I tried all said in?http://wiki.freepascal.org/Installing_Lazarus[1]?and it seems out dated but I make it.
Now I have a problem: My Lazarus version seems have problem. It can compile many packages but it cant compile BGRABitmap. It will stuck on sum two TPointF and give this error :
bgracanvas2d.pas(370,21) Error: Operator is not overloaded: "TPointF"
+ "TPointF"
TPointF is declared like this :
Show quoted text 28 lines
type? {* Pointer to a ''TPointF'' structure }? PPointF = ^TPointF;? {*
Contains a point with single-precision floating point coordinates }
TPointF = packed record x, y: single;? ? ? ? ? ? end;
const? ? {** Value indicating that there is an empty ''TPointF''
structure.? ? ? ? It is also used as a separator in lists of points }
EmptyPointF: TPointF = (x: -3.402823e38; y: -3.402823e38);
{----------------- Operators for TPointF --------------------}? {**
Creates a new structure with values ''x'' and ''y'' }? function
PointF(x, y: single): TPointF;? {** Checks if the structure is empty
(equal to ''EmptyPointF'') }? function isEmptyPointF(const pt:
TPointF): boolean;? {** Checks if both ''x'' and ''y'' are equal }
operator = (const pt1, pt2: TPointF): boolean; inline;? {** Adds ''x''
and ''y'' components separately. It is like adding vectors }? operator
+ (const pt1, pt2: TPointF): TPointF; inline;? {** Subtract ''x'' and
''y'' components separately. It is like subtracting vectors }
operator - (const pt1, pt2: TPointF): TPointF; inline;? {** Returns a
point with opposite values for ''x'' and ''y'' components }? operator
- (const pt2: TPointF): TPointF; inline;? {** Scalar product:
multiplies ''x'' and ''y'' components and returns the sum }? operator
* (const pt1, pt2: TPointF): single; inline;? {** Multiplies both
''x'' and ''y'' by ''factor''. It scales the vector represented by
(''x'',''y'') }? operator * (const pt1: TPointF; factor: single):
TPointF; inline;? {** Multiplies both ''x'' and ''y'' by ''factor''.
It scales the vector represented by (''x'',''y'') } ? operator
* (factor: single; const pt1: TPointF): TPointF; inline;
And I dont have any problem in stable Lazarus and GetLazarus version and even in my old Trunk version.
So any one can guess what is the problem?
Regards, Ara
Links:
1. http://wiki.freepascal.org/Installing_Lazarus#Compiling.2Finstalling_FPC_and_Lazarus_from_Sources_of_SVN_.28Win32.29