[patch_done] Zeos7 doesnt compile under FPC2.6.0
Moderators: gto, EgonHugeist, olehs
-
- Fresh Boarder
- Posts: 15
- Joined: 20.10.2009, 16:11
[patch_done] Zeos7 doesnt compile under FPC2.6.0
Here is the error while compile components.
ZEOSDBO-7/src/core/ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; CDecl;" found
ZEOSDBO-7/src/core/ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; CDecl;" found
Last edited by IndianaJones on 27.01.2012, 13:26, edited 1 time in total.
-
- Expert Boarder
- Posts: 113
- Joined: 06.10.2006, 14:41
- Location: Chapecó - Santa Catarina
- Contact:
-
- Fresh Boarder
- Posts: 15
- Joined: 20.10.2009, 16:11
-
- Expert Boarder
- Posts: 113
- Joined: 06.10.2006, 14:41
- Location: Chapecó - Santa Catarina
- Contact:
-
- Fresh Boarder
- Posts: 15
- Joined: 20.10.2009, 16:11
-
- Expert Boarder
- Posts: 113
- Joined: 06.10.2006, 14:41
- Location: Chapecó - Santa Catarina
- Contact:
-
- Fresh Boarder
- Posts: 15
- Joined: 20.10.2009, 16:11
The first error comes from the Zeos7.0 zip file, if trunk is used then the next one comes. I copied the missing file and files but I think that there are some files missing in the /branches/testing or missing {IFDEF} definitions.
Another think is Zeos6.6.6 works fine with 2.4.4 on Mac OS X. And I think that this should be fixed in the new release.
Another think is Zeos6.6.6 works fine with 2.4.4 on Mac OS X. And I think that this should be fixed in the new release.
Is this Problem already solved? i was trying to compile zeos from testing/trunk today and it failed with the same error:
ZEOSDBO-7/src/core/ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; CDecl;" found
thx for answers
ZEOSDBO-7/src/core/ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; CDecl;" found
thx for answers
-
- Expert Boarder
- Posts: 113
- Joined: 06.10.2006, 14:41
- Location: Chapecó - Santa Catarina
- Contact:
-
- Expert Boarder
- Posts: 113
- Joined: 06.10.2006, 14:41
- Location: Chapecó - Santa Catarina
- Contact:
-
- Expert Boarder
- Posts: 113
- Joined: 06.10.2006, 14:41
- Location: Chapecó - Santa Catarina
- Contact:
It indeed compiles for me on Windows (using trunk). Maybe I looked in a wrong branch before. I do get a few warnings:
"UNIX" is automatically defined on a unixy OS (FreeBSD,Solaris,Haiku,Linux,Mac OS X)
Code: Select all
ZClasses.pas(189,14) Warning: An inherited method is hidden by "TZAbstractObject.Equals(const IUnknown):Boolean;"
ZClasses.pas(190,35) Warning: An inherited method is hidden by "TZAbstractObject.GetHashCode:LongInt;"
ZClasses.pas(192,14) Warning: An inherited method is hidden by "TZAbstractObject.ToString:AnsiString;"
-
- Expert Boarder
- Posts: 113
- Joined: 06.10.2006, 14:41
- Location: Chapecó - Santa Catarina
- Contact:
Yes, I presume that UNIX is defined for a lot of OSes, including Mac OS X. But looking at the source, it's the unique thing that can be wrong (or undefined)marcov wrote: "UNIX" is automatically defined on a unixy OS (FreeBSD,Solaris,Haiku,Linux,Mac OS X)
Or here, has something that are doing FPC understand some macros.
The difference is that FPC 2.5.1/2.6.0+ changed the definition of queryinterface.
This because Delphi definition is not welldefined enough (specially if const is mandatory by reference or just happens to be that way on x86).
Note the "constref" in the definition of the errormessage of the first post:
http://wiki.freepascal.org/User_Changes ... en_changed
This because Delphi definition is not welldefined enough (specially if const is mandatory by reference or just happens to be that way on x86).
Note the "constref" in the definition of the errormessage of the first post:
http://wiki.freepascal.org/User_Changes ... en_changed