[fpc-pascal] Object file requiring kernel32.dll functions

patspiper patspiper at gmail.com
Sun Jun 21 17:09:27 CEST 2015

The situation is as follows:

- Platform: Windows

- file1.obj: 3rd omf object file (no source available) that can be used 
by Delphi linker and calls kernel32.dll functions such as GetTickCount 
and GetLastError.

- file1.coff: file1.obj converted to coff format using objconv.exe 
(http://www.agner.org/optimize) with the exported names adjusted to be 
used by fpc.

- fpc is passed on the following options: -k-L/usr/i586-mingw32msvc/lib 

- Compiling (via Lazarus) outputs several errors like:
project1.lpr(20,1) Error: Undefined symbol: GetVersion

How come Delphi can produce a working executable and fpc can't?

Could it be that something is getting lost in the omf/coff conversion?

Can something else be done?

It isn't possible to declare the kernel32.dll functions as external as 
it is file1.obj that requires them.


More information about the fpc-pascal mailing list