[fpc-devel] Building a static library

Vsevolod Alekseyev sevaa at sprynet.com
Tue Aug 26 22:53:09 CEST 2014

I've got a static FPC library on iOS that works fine. Don't pass strings 
back and forth, pass PChar's. Pointer-to-records are OK, too, but I'd 
think twice regarding objects.

On 8/26/2014 4:47 PM, Sergio Flores wrote:
> Let's start this email by saying that I know perfectly that FPC does 
> not support static libraries, I read all I could find about it.
> However most reasons talk about that there would be problems if 
> someone tried to use two fpc static libs together because of 
> duplicated symbols.
> In my case I want to create a iPhone static lib to be used by 
> objective-c and C++ users. Since in this special case there will be 
> one and only one lib written in pascal, I though this would make it 
> possible.
> I saw that my own iOS projects that were based on templates worked by 
> compiling a static libFPC.a that would be then called by Objective-C.
> So I did create my own static library by gathering all .o files from 
> FPC into a .a file. I wrote a .h header and added the static lib into 
> a Xcode Objective-C project.
> Ok, it compiles and links correctly. It calls some of the pascal 
> functions correctly. But.. then it later crashes in one of the pascal 
> functions.
> Note that I have a lib_init() function called from C that is used to 
> initialize the pascal library, and it calls this undocumented fpc 
> function:
> procedure internal_initializeunits(); external name 'FPC_INITIALIZEUNITS';
> This function from what I understood it calls all units initialization 
> sections, right?
> Still, I'm missing something... the libFPC.a compiled in xcode 
> templates works fine with Objective-C, but also it does not share any 
> memory back or forward.
> This seems to be some problem with memory allocation, since only 
> calling any function that creates pascal strings or classes seem to 
> crash the app. Any clue?
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20140826/bd2b0299/attachment.html>

More information about the fpc-devel mailing list