Hi md, 

Linking with C files works just fine. No problem with that. However I
would like to link regular FPC object files instead. Please see the
three files I attached in my first email. For some reason the linker
could not find the implemented procedure. So the question is, how to
modify the implementation unit so everything works. 

Regards, Darius 

m...@rpzdesign.com schreef op 20 mrt '14: 

> 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:lazarusfpc2.6.2binx86_64-win64fpc.cfg
>> Hint: End of reading config file C:lazarusfpc2.6.2binx86_64-win64fpc.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 [1]
> 
> _______________________________________________
> fpc-pascal maillist - fpc-pascal@lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal [1]
 

Links:
------
[1] 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