Darius:

I just went through this and it is fresh in my mind, but with 32 bit code.

I used CodeBlocks with MingGW to compile the c source code to a static library with an mylib.A suffix.

I am pretty sure you cannot use MSVC to compile the c code.

Then use the {$LINKLIB path/mylib.a} directive to link.

You do not need to use individual object files since many times there are many that are combined into a single static library.

When you use codeblocks, you will need to make an adjustment to produce 64 bit binary.

It is just easier to stay with 32 bit if you can.

Let us know how it turns out in 64 bit {$LINKLIB xxxx}

Cheers,

md


On 3/19/2014 6:49 PM, Darius Blaszyk wrote:

Hi,

I was wondering if it's possible to link FPC object files by using the $Link directive? At least I have troubles in getting this to work and therefore I'm asking here. Please consider the minimal example I have attached to this email.

When linking the object file that implements the test_proc procedure I get the following compiler output:

Hint: Start of reading config file C:\lazarus\fpc\2.6.2\bin\x86_64-win64\fpc.cfg Hint: End of reading config file C:\lazarus\fpc\2.6.2\bin\x86_64-win64\fpc.cfg
Free Pascal Compiler version 2.6.2 [2014/02/28] for x86_64
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Win64 for x64
Compiling test.pp
Linking test.exe
test.pp(8,1) Error: Undefined symbol: TEST_INT_TEST_PROC
test.pp(8,1) Fatal: There were 1 errors compiling module, stopping

What is needed in the test_impl.pas file so the linker can find the implemented function? Do I need to create a library and export the function perhaps?

Regards, Darius Blaszyk



_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to