[fpc-pascal] FPC linker oddity
Jonas Maebe
jonas.maebe at elis.ugent.be
Sun Jun 21 22:08:27 CEST 2015
On 21/06/15 21:43, patspiper wrote:
> program Project1;
> {$Linklib kernel32}
> Function GetTickCount: DWORD; external;
> begin
> WriteLn ('GetTickCount ', GetTickCount);
> end.
> project1.lpr(10,1) Error: Undefined symbol:
> P$PROJECT1_$$_GETTICKCOUNT$$LONGWORD
>
> Changing the GetTickCount declaration to any of the following works:
> Function GetTickCount: DWORD; external name
> '_$dll$kernel32$GetTickCount';
> Function GetTickCount: DWORD; external 'kernel32';
>
> Why is the behaviour different between Linux and Windows?
ELF (used by Linux) and PECOFF (used by Windows) use completely
different ways of shared linking.
Jonas
More information about the fpc-pascal
mailing list